[ petarmare @ 20.12.2010. 18:08 ] @
Imam problem sa javom,

radim programcic za upisivanje podataka u fajl i iscitavanje objekata iz fajla,upisivanje radi dobro al nece mi procita stalno mi izbacuje gresku na readObject() funkciji



import java.io.*;


class podatci implements Serializable{

String ime;
String prezime;
int indeks;
}

class glavna{

public static void main(String args[])throws IOException

{
System.out.println("1 unos podataka");
System.out.println("2 pregled podataka");

BufferedReader kl=new BufferedReader(new InputStreamReader(System.in));
int oi=Integer.parseInt(kl.readLine());

if(oi==1){


BufferedReader un=new BufferedReader(new InputStreamReader(System.in));

System.out.println("unesite broj koliko studenata unosite");

int s=Integer.parseInt(un.readLine());

podatci [] gl=new podatci[s] ;

FileOutputStream kol=new FileOutputStream("fajl.txt");

ObjectOutputStream obj=new ObjectOutputStream(kol);

BufferedReader jo=new BufferedReader(new InputStreamReader(System.in));

for(int i=0;i<s;i++){
gl=new podatci();
System.out.println("student");

System.out.println("ime");
gl.ime=jo.readLine();



System.out.println("prezime");
gl.prezime=jo.readLine();



System.out.println("indeks");
gl.indeks=Integer.parseInt(jo.readLine());




}

obj.writeObject(gl);

obj.flush();
kol.close();






}

else if(oi==2){
FileInputStream fis=new FileInputStream("fajl.txt");
ObjectInputStream dis=new ObjectInputStream(fis);

podatci[] ge= (podatci[]) dis.readObject();



for(int c=0;c<ge.length;c++){

System.out.println("student");

System.out.println("ime");
System.out.println(ge[c].ime);



System.out.println("prezime");
System.out.println(ge[c].prezime);



System.out.println("indeks");
System.out.println(ge[c].indeks);



}

fis.close();

System.out.println("kraj fajla");

}







}}
[ iMac @ 20.12.2010. 23:20 ] @
Pitanje: koji IDE koristis? Verovatno kucas po Notepad-u i pokusavas da pokreces preko konzole. Dakle, skini Eclipse. Da si nesto slicno koristio video bi kompajlerske greske. Al dobro, verovatno tek pocinjes da se bavis programiranjem tako da nije strasno. Ima vremena, sto se kaze. :)

Dalje, tvoj program bi koliko toliko radio da si umesto
Code:


gl=new podatci();




stavio
Code:


gl[i]=new podatci();



i da si tako svakom atributu dodeljivao vrednost
Code:


System.out.println("ime");
gl[i].ime=jo.readLine();



System.out.println("prezime");
gl[i].prezime=jo.readLine();



System.out.println("indeks");
gl[i].indeks=Integer.parseInt(jo.readLine());




To ti je to. Aj sad ti peglaj ovo ali ces jednog dana morati da sednes i da procitas par knjiga o OOP generalno. Naucices, verujem, tek si poceo. Sve najbolje.
[ petarmare @ 21.12.2010. 17:40 ] @
i napisao sam gl[]=new podatci();
samo sto mi je ovdje pogresno al opet nece radi nece mi iscitava objekte iz datoteke prijavljuje mi gresku na readObject(); funkciji