Forum » Programiranje » [Java-FRI(OAPS1)] Težava z konstruktorjem
[Java-FRI(OAPS1)] Težava z konstruktorjem
SkIDiver ::
Težavo kot kaže mi dela konstruktor pa ne vem kaj je narobe.
Napaka, ki jo javlja (vrstica 227 je konstruktor čisto na koncu kode preden se zapre metoda generiraj);
Napaka, ki jo javlja (vrstica 227 je konstruktor čisto na koncu kode preden se zapre metoda generiraj);
K:\OAPS156\avtoTest2.java:227: cannot find symbol symbol : constructor Student(java.lang.String,java.lang.String,Datum,char,java.lang.String,java.lang.String,short,java.lang.String,char,byte[][]) location: class Student t[y]=new Student(i,p,new Datum(d,m,l),s,E,f,lv,v,j,to); ^
public class avtoTest2{ public static void main(String[] args){ int n; char odg; byte atr; System.out.print("Vnesi stevilo studentov: "); n=BranjePodatkov.preberiInt(); System.out.println(); Student[] ts=new Student[n]; generiraj(ts); Student[] pt=new Student[n]; prepisiTabelo(ts,pt); izpisiPodatke(ts); do{ System.out.print("Izberi atribut po katerem zelis razvrstiti studente (1-14):"); atr=(byte)BranjePodatkov.preberiInt(); System.out.println(); while(atr<1||atr>14); System.out.print("Izberi smer urejanja: "); byte smer=(byte)BranjePodatkov.preberiInt(); System.out.println(); System.out.print("Zelis zacetno urejenost (+1/o/-1)"); byte zacUr=(byte)BranjePodatkov.preberiInt(); System.out.println(); if(zacUr!=0) SortiranjeObjektov.straightinsertion(ts,((byte)(zacUr*smer)),atr); System.out.print("Izberi metodo za sortiranje (1-10)"); byte metoda=(byte)BranjePodatkov.preberiInt(); System.out.println(); switch(metoda){ case 1: SortiranjeObjektov.straightinsertion(ts,smer,atr); break; /*case 2: break; case 3: break; case 4: break; case 5: break; case 6: break; case 7: break; case 8: break; case 9: break; case 10: break;*/ default: } izpisiPodatke(ts); prepisiTabelo(pt,ts); System.out.println("Zelis koncati? (DA/NE)"); odg=(BranjePodatkov.preberiString()).charAt(0); } while(odg!='D'&&odg!='d'); } public static void prepisiTabelo(Student[] t, Student[] p){ for(int i=0;i<t.length; i++) p[i]=t[i]; } public static void generiraj(Student[] t){ for(int y=0; y<t.length; y++){ //generiranje imena int nIme=(int)(((Math.random()+0.1)*10)+((Math.random()+0.1)+10)); String i; switch(nIme){ case 1: i="Andrej"; break; case 2: i="Bojana"; break; case 3: i= "David"; break; case 4: i= "Erna"; break; case 5: i= "Franc"; break; case 6: i= "Glorija"; break; case 7: i= "Hans"; break; case 8: i= "Ivana"; break; case 9: i= "Jernej"; break; case 10: i= "Katja"; break; case 11: i= "Luka"; break; case 12: i= "Maja"; break; case 13: i= "Niko"; break; case 14: i= "Dunja"; break; case 15: i= "Primoz"; break; case 16: i= "Sanja"; break; case 17: i= "Samo"; break; case 18: i= "Tanja"; break; case 19: i= "Uros"; break; case 20: i= "Vida"; break; default: i= "Zan"; } System.out.println(i); //generiranje priimka int xI=(int)(((Math.random()+0.1)*10)+((Math.random()+0.1)+10)); String p; switch(xI){ case 1: p="Ancelj"; break; case 2: p="Brecelj"; break; case 3: p= "Cankar"; break; case 4: p= "Drganc"; break; case 5: p= "Erzelj"; break; case 6: p= "Finzgar"; break; case 7: p= "Gorenc"; break; case 8: p= "Ivanec"; break; case 9: p= "Jakse"; break; case 10: p= "Koren"; break; case 11: p= "Levstik"; break; case 12: p= "Mihelic"; break; case 13: p= "Novak"; break; case 14: p= "Opara"; break; case 15: p= "Preseren"; break; case 16: p= "Rjavec"; break; case 17: p= "Sinkovec"; break; case 18: p= "Turk"; break; case 19: p= "Uran"; break; case 20: p= "Vidmar"; break; default: p= "Zalar"; } //generiranje dan rojstva byte d; //generiranje mesec rojstva byte m; //generiranje leto rojstva byte l; //generiranje spola char s; if(nIme%2==0) s='Z'; else s='M'; //generiranje EMŠO-ja String E; //generiranje fakultete int xF=(int)((Math.random()+0.1)*10); String f; switch(xF){ case 1: f="FRI"; break; case 2: f="FE"; break; case 3: f= "EF"; break; case 4: f= "FDV"; break; case 5: f= "FS"; break; case 6: f= "FK"; break; case 7: f= "FF"; break; case 8: f= "BF"; break; case 9: f= "FMF"; break; case 10: f= "FOV"; break; default: f= "PF"; } //generiranje leto vpisa short lv=(short)((Math.random()+0.1)*10); //generiranje vrste vpisa String v; //String[]tv={"prvi vpis","ponovni vpis","pavzer","absolvent"}; double vV=Math.random(); if(vV<0.2) v="prvi vpis"; else if(vV<0.6&&vV>0.2) v="ponovni vpis"; else if(vV<0.8&&vV>0.6) v="pavzer"; else v="absolvent"; //generiranje redni/izredni char j; double jI=Math.random(); if(jI<0.5) j='D'; else j='N'; //generiranje ocen byte[][] to=new byte[2006-lv][]; for(int jj=0; jj<to.length; jj++){ to[jj]=new byte[(int)(Math.random()*21)]; for(int kk=0; kk<to[jj].length; kk++){ to[jj][kk]=(byte)(Math.random()*6+5); } } //vpis podatkov v objekt t[y]=new Student(i,p,new Datum(d,m,l),s,E,f,lv,v,j,to); } } public static void izpisiPodatke(Student[] t){ for(int i=0; i<t.length; i++) System.out.println(t[i]); System.out.println(); } }
SkIDiver ::
No napaka odkrita Mislm čist banalno. Konstruktorju sem vračal namesto boolean vrednost char Tudi to se zgodi
Zdej imam pa sledečo težavo! Metoda generiraj() zgenerira samo imena potem pa se verjetno zacikla, ker črtica utripa in ni ne konca ne kraja.
Mogoče kaka ideja zakaj pride do tega? Meni se namreč zdi zadeva smiselna in zastavljeno je tako, da za vsako polje v tabeli najprej zgenerira vse atribute in potem nadaljuje za naslednje polje.
Torej najprej t[0], t[1], t[2], t[3], če vzamemo da ima enodimenzionalna tabela 4 polja/elemente. Zakaj torej zgenerira samo ime ostalo pa ne?
Zdej imam pa sledečo težavo! Metoda generiraj() zgenerira samo imena potem pa se verjetno zacikla, ker črtica utripa in ni ne konca ne kraja.
Mogoče kaka ideja zakaj pride do tega? Meni se namreč zdi zadeva smiselna in zastavljeno je tako, da za vsako polje v tabeli najprej zgenerira vse atribute in potem nadaljuje za naslednje polje.
Torej najprej t[0], t[1], t[2], t[3], če vzamemo da ima enodimenzionalna tabela 4 polja/elemente. Zakaj torej zgenerira samo ime ostalo pa ne?
SkIDiver ::
Tudi ta napaka je odpravljena. Namesto String je vračalo char in se je seveda zadeva zapletla.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java]Pri obratu stevila mi prva cifra zgineOddelek: Programiranje | 1119 (940) | Robi182 |
» | Java zvezdice - malo drugačeOddelek: Programiranje | 2316 (2118) | Leyla_ |
» | [java] napakaOddelek: Programiranje | 1601 (1601) | tx-z |
» | [Java] vprašanjaOddelek: Programiranje | 1455 (1455) | tx-z |
» | [JAVA]Branje podatkov tipa int, doubleOddelek: Programiranje | 3401 (3299) | BaRtMaN |