Java NxN Integer Vektor + Filekezelés probléma?
Igazából csak ki kéne javítani a kódom:s a lényeg egyenlőre csak annyi hogy kiírassa. Csak próbálkozomD:
A hiba:
Error: java.lang.NullPointerException
Exception in thread "main" java.lang.NullPointerException
at Paprika.main(Paprika.java:9)
A file így néz ki:
4
3 5 6 7
2 4 5 6
5 3 6 8
4 6 7 9
A kód a következő:
import java.util.*;
import java.io.*;
public class Paprika {
public static void main(String atgs[]) throws Exception{
Vector<Vector<Integer> > v = new Vector<Vector<Integer> >();
beker(v);
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
System.out.println(v.elementAt(i).elementAt(j));
}
}
}
public static void beker(Vector<Vector<Integer> > v)throws Exception{
File theFile = new File("C:/Users/Elenor/Desktop/asztal/Java/apple/input.txt");
try{
Scanner eyes = new Scanner(theFile);
int a=eyes.nextInt();
if(a<=0){
System.out.println("Ellenorizd a filet!");
}
v.setSize(a);
for(int i=0;i<a;i++){
v.elementAt(i).setSize(a);
for(int j=0;j<a;j++){
v.elementAt(i).insertElementAt(eyes.nextInt(),j);
}
}
eyes.close();
}
catch(Exception e){
System.out.println("Error: "+e);
}
}
}
A gond pontosan az, amit a hibaüzenetben olvashatsz: NUll értékű helyet akarsz leolvasni vagy manipulálni. A probléma forrása a következő:
szépen inicializáltad a "v" vektort, de az egy vektorok vektora, magyarul azon belül is van neked még egy rakat vektorod. Amik viszont nincsenek inicializálva (=new Vector<int>).
Szóval a "beker" metódusodban kihagyhatod a "setSize(a)" sort, és a
"for(int i=0;i<a;i++){" után pedig beraksz ennyit:
v.add(new Vector<int>);
és a "for(int j=0; j<a; j++)" után ennyit:
v.elementAt(i).add(eyes.nextInt());
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!