Problem je u tome kada ucitam iz datoteke studenti.txt liniju po liniju i smjestim ih niz, izgleda dobro i radi, ali kada hocu da ispisem sve to ispisuje mi samo zadnjeg upisanog studenta onoliko puta koliko je bilo linija, tacnije koliko je bilo studenata u fajlu.
ovo je kod klase student.
Code:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;
public class Student {
static int brojIndeksa;
static String ime;
static String prezime;
static int datumRodjenja;
static int maticniBroj;
static int datumUpisaStudija;
static int slusaGodinu;
static Student[] Studenti = new Student[50];
static int brojStudenata=0;
@SuppressWarnings("static-access")
public Student(int brojIndeksa, String ime, String prezime, int datumRodjenja, int maticniBroj,
int datumUpisaStudija, int slusaGodinu)
{
this.brojIndeksa=brojIndeksa;
this.ime=ime;
this.prezime=prezime;
this.datumRodjenja = datumRodjenja;
this.maticniBroj = maticniBroj;
this.datumUpisaStudija = datumUpisaStudija;
this.slusaGodinu = slusaGodinu;
}
public static void povecajBrojStudenata()
{
brojStudenata++;
}
public static int dajBrojStudenata()
{
return brojStudenata;
}
public static void ispisiStudente()
{
for (int i=0; i<Student.dajBrojStudenata(); i++)
{
System.out.println("Broj indeksa: "+Studenti[i].dajBrojIndeksa()+" Ime: "+Studenti[i].dajIme()+" Prezime: "+Studenti[i].dajPrezime()+" Datum rodjenja: "+Studenti[i].dajDatumRodjenja()+" Maticni broj: "+Studenti[i].dajMaticniBroj()+" Datum upisa studija: "+Studenti[i].dajDatumUpisaStudija()+" Slusa godinu: "+Studenti[i].dajSlusaGodinu());
}
}
public static void postaviIme(String ime) {
Student.ime = ime;
}
public static String dajIme() {
return ime;
}
public static void postaviBrojIndeksa(int brojIndeksa) {
Student.brojIndeksa = brojIndeksa;
}
public static int dajBrojIndeksa() {
return brojIndeksa;
}
public static void postaviDatumRodjenja(int datumRodjenja) {
Student.datumRodjenja = datumRodjenja;
}
public static int dajDatumRodjenja() {
return datumRodjenja;
}
public static void postaviMaticniBroj(int maticniBroj) {
Student.maticniBroj = maticniBroj;
}
public static int dajSlusaGodinu() {
return slusaGodinu;
}
public static void postaviSlusaGodinu(int slusaGodinu) {
Student.slusaGodinu = slusaGodinu;
}
public static int dajMaticniBroj() {
return maticniBroj;
}
public static void postaviDatumUpisaStudija(int datumUpisaStudija) {
Student.datumUpisaStudija = datumUpisaStudija;
}
public static int dajDatumUpisaStudija() {
return datumUpisaStudija;
}
public static void postaviPrezime(String prezime) {
Student.prezime = prezime;
}
public static String dajPrezime() {
return prezime;
}
}
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;
public class Student {
static int brojIndeksa;
static String ime;
static String prezime;
static int datumRodjenja;
static int maticniBroj;
static int datumUpisaStudija;
static int slusaGodinu;
static Student[] Studenti = new Student[50];
static int brojStudenata=0;
@SuppressWarnings("static-access")
public Student(int brojIndeksa, String ime, String prezime, int datumRodjenja, int maticniBroj,
int datumUpisaStudija, int slusaGodinu)
{
this.brojIndeksa=brojIndeksa;
this.ime=ime;
this.prezime=prezime;
this.datumRodjenja = datumRodjenja;
this.maticniBroj = maticniBroj;
this.datumUpisaStudija = datumUpisaStudija;
this.slusaGodinu = slusaGodinu;
}
public static void povecajBrojStudenata()
{
brojStudenata++;
}
public static int dajBrojStudenata()
{
return brojStudenata;
}
public static void ispisiStudente()
{
for (int i=0; i<Student.dajBrojStudenata(); i++)
{
System.out.println("Broj indeksa: "+Studenti[i].dajBrojIndeksa()+" Ime: "+Studenti[i].dajIme()+" Prezime: "+Studenti[i].dajPrezime()+" Datum rodjenja: "+Studenti[i].dajDatumRodjenja()+" Maticni broj: "+Studenti[i].dajMaticniBroj()+" Datum upisa studija: "+Studenti[i].dajDatumUpisaStudija()+" Slusa godinu: "+Studenti[i].dajSlusaGodinu());
}
}
public static void postaviIme(String ime) {
Student.ime = ime;
}
public static String dajIme() {
return ime;
}
public static void postaviBrojIndeksa(int brojIndeksa) {
Student.brojIndeksa = brojIndeksa;
}
public static int dajBrojIndeksa() {
return brojIndeksa;
}
public static void postaviDatumRodjenja(int datumRodjenja) {
Student.datumRodjenja = datumRodjenja;
}
public static int dajDatumRodjenja() {
return datumRodjenja;
}
public static void postaviMaticniBroj(int maticniBroj) {
Student.maticniBroj = maticniBroj;
}
public static int dajSlusaGodinu() {
return slusaGodinu;
}
public static void postaviSlusaGodinu(int slusaGodinu) {
Student.slusaGodinu = slusaGodinu;
}
public static int dajMaticniBroj() {
return maticniBroj;
}
public static void postaviDatumUpisaStudija(int datumUpisaStudija) {
Student.datumUpisaStudija = datumUpisaStudija;
}
public static int dajDatumUpisaStudija() {
return datumUpisaStudija;
}
public static void postaviPrezime(String prezime) {
Student.prezime = prezime;
}
public static String dajPrezime() {
return prezime;
}
}
a ovo je iz main klase
Code:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;
public class GlavniProgram extends Student {
public GlavniProgram(int brojIndeksa, String ime, String prezime,
int datumRodjenja, int maticniBroj, int datumUpisaStudija,
int slusaGodinu) {
super(brojIndeksa, ime, prezime, datumRodjenja, maticniBroj, datumUpisaStudija,
slusaGodinu);
}
public static void procitajStudente()
{
try{
BufferedReader studenti = new BufferedReader(new FileReader("studenti.txt"));
StreamTokenizer in = new StreamTokenizer(studenti);
in.eolIsSignificant(true);
while(in.ttype != StreamTokenizer.TT_EOF)
{
in.nextToken();
postaviBrojIndeksa((int)in.nval);
in.nextToken();
postaviIme(in.sval);
in.nextToken();
postaviPrezime(in.sval);
in.nextToken();
postaviDatumRodjenja((int)in.nval);
in.nextToken();
postaviMaticniBroj((int)in.nval);
in.nextToken();
postaviDatumUpisaStudija((int)in.nval);
in.nextToken();
postaviSlusaGodinu((int)in.nval);
in.nextToken();
Studenti[brojStudenata] = new Student(dajBrojIndeksa(), dajIme(), dajPrezime(), dajDatumRodjenja(), dajMaticniBroj(), dajDatumUpisaStudija(), dajSlusaGodinu());
povecajBrojStudenata();
}studenti.close();
}catch(IOException e)
{
System.err.println(e);
}
}
public static void main(String[] args) {
procitajStudente();
Student.ispisiStudente();
}
}
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;
public class GlavniProgram extends Student {
public GlavniProgram(int brojIndeksa, String ime, String prezime,
int datumRodjenja, int maticniBroj, int datumUpisaStudija,
int slusaGodinu) {
super(brojIndeksa, ime, prezime, datumRodjenja, maticniBroj, datumUpisaStudija,
slusaGodinu);
}
public static void procitajStudente()
{
try{
BufferedReader studenti = new BufferedReader(new FileReader("studenti.txt"));
StreamTokenizer in = new StreamTokenizer(studenti);
in.eolIsSignificant(true);
while(in.ttype != StreamTokenizer.TT_EOF)
{
in.nextToken();
postaviBrojIndeksa((int)in.nval);
in.nextToken();
postaviIme(in.sval);
in.nextToken();
postaviPrezime(in.sval);
in.nextToken();
postaviDatumRodjenja((int)in.nval);
in.nextToken();
postaviMaticniBroj((int)in.nval);
in.nextToken();
postaviDatumUpisaStudija((int)in.nval);
in.nextToken();
postaviSlusaGodinu((int)in.nval);
in.nextToken();
Studenti[brojStudenata] = new Student(dajBrojIndeksa(), dajIme(), dajPrezime(), dajDatumRodjenja(), dajMaticniBroj(), dajDatumUpisaStudija(), dajSlusaGodinu());
povecajBrojStudenata();
}studenti.close();
}catch(IOException e)
{
System.err.println(e);
}
}
public static void main(String[] args) {
procitajStudente();
Student.ispisiStudente();
}
}