【发布时间】:2013-12-17 15:43:16
【问题描述】:
我有以下错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:
1 at test.Main.main(Main.java:28)
我是一个初学者,我真的不明白事情卡在哪里。我想在for 的某个地方。
请帮忙?
主类
public static ArrayList<Patron> patr_list= new ArrayList<Patron> ();
public static ArrayList<Angajat> angj_list= new ArrayList<Angajat> ();
public static ArrayList<Persoana> pers_list = new ArrayList<Persoana>();
public static void main(String []args) throws Exception
{
BufferedReader flux_in= new BufferedReader (new InputStreamReader (new FileInputStream("C:/Users/Administrator/workspace/test/test.txt")));
String linie;
while((linie= flux_in.readLine()) != null)
{
String [] s;
s= linie.split(";");
if(linie.contains("angajat"))
{
angj_list.add(new Angajat( s[0], Integer.parseInt(s[1]), Calendar.getInstance(), s[3], s[4] ));
}
else
if(linie.contains("patron"))
{
patr_list.add(new Patron(s[0], Integer.parseInt(s[1]), Integer.parseInt(s[2]), Integer.parseInt(s[3])));
}
pers_list.addAll(patr_list);
pers_list.addAll(patr_list);
System.out.println(String.format("Nume", "Varsta", "Data_angajarii", "Loc de munca", "Functia"));
for( Angajat angj: angj_list)
{
System.out.println(angj);
}
System.out.println(String.format("Nume", "Varsta", "Nr de firme", "Nr de angajti"));
for( Patron patr: patr_list)
{
System.out.println(patr);
}
}
}
}
角色类
public String nume;
public int varsta;
public Persoana (String nume, int varsta)
{
this.nume=nume;
this.varsta=varsta;
}
公共字符串 getNume() {
返回数字;
}
public void setNume(String nume)
{
this.nume = nume;
}
public int getVarsta()
{
return varsta;
}
public void setVarsta(int varsta)
{
this.varsta = varsta;
}
}
赞助人等级
public int nr_firme;
public int nr_angajati;
public Patron(String nume, int varsta, int nr_firme, int nr_angajati)
{
super(nume,varsta);
this.nr_firme=nr_firme;
this.nr_angajati=nr_angajati;
}
public int getNr_firme()
{
return nr_firme;
}
public void setNr_firme(int nr_firme)
{
this.nr_firme = nr_firme;
}
public int getNr_angajati()
{
return nr_angajati;
}
public void setNr_angajati(int nr_angajati)
{
this.nr_angajati = nr_angajati;
}
public String toString()
{
return "Patronul are" + nr_firme + "firme si" + nr_angajati+ "numar de angajti";
}
安加特班
public Calendar data_angajarii;
public String loc_munca;
public String functie;
public Angajat(String nume, int varsta, Calendar data_angajarii, String loc_munca, String functie)
{
super(nume, varsta);
this.data_angajarii=data_angajarii;
this.loc_munca=loc_munca;
this.functie=functie;
}
public Calendar getData_angajarii()
{
return data_angajarii;
}
public void setData_angajarii(Calendar data_angajarii)
{
this.data_angajarii = data_angajarii;
}
public String getLoc_munca()
{
return loc_munca;
}
public void setLoc_munca(String loc_munca)
{
this.loc_munca = loc_munca;
}
public String getFunctie()
{
return functie;
}
public void setFunctie(String functie)
{
this.functie = functie;
}
public String toString()
{
return "Angajatul a fost angajat in data de" + data_angajarii + "lucreaza la " + loc_munca+ " si are functia de " + functie;
}
文本文件
angajat ionel 16 1991,8,4 timisoara 导演;
赞助人 gigel 45 100 5000;
【问题讨论】:
-
哪一行是28?
-
请提供完整的源文件,包括类+包声明和导入语句。提供的代码 sn-p 中的第 28 行是一个空行。或者,突出显示或加粗上例中引发异常的行。
-
请提供您的文本文件的 sn-p。
-
我提供了你所要求的。谢谢@peeskillet。第 28 行是: angj_list.add(new Angajat( s[0], Integer.parseInt(s[1]), Calendar.getInstance(), s[3], s[4] ));
-
不,你没有,我要的是文本文件。