02. oktober 2012 - 21:07Der er
11 kommentarer og 1 løsning
java.util.InputMismatchException
Jeg har en opgave hvor jeg skal læse en .txt fil formateret som
String,int,int,int,int String,int,int,int,int
etc... Jeg har brugt , som Delimiter scan.useDelimiter(",");
Mit scannings loop ser sådan her ud:
while(scan.hasNextLine()) { String Name = scan.next(); int Val1 = scan.nextInt(); int Val2 = scan.nextInt(); int Val3 = scan.nextInt(); int Val4 = scan.nextInt(); Person person = new Person(); person.loadInfo(Name, Val1, Val2, Val3, Val4); } scan.close(); }
Men hver gang jeg kører det får jeg error:
Error: Line 34 [[ int Val4 = scan.nextInt(); Exception in thread "main" java.util.InputMismatchException
Jeg har prøvet at ændre useDelimiter så den også bruger newline som delimiter, men jeg får stadig samme fejl.
Til gengæld får jeg ingen fejl hvis jeg bare tager alle variablende som Strings, men jeg vil jo helst ha første variable som string, og resten som ints.
public class Loader { Scanner scan; File file; ArrayList<Person> PersonList; FileWriter output;
public void LoadPersons() throws FileNotFoundException { PersonList = new ArrayList<>(); file = new File("person.txt"); scan = new Scanner(file); scan.useDelimiter("[,\n]");
if (PersonList.isEmpty() == false) { PersonList.clear(); }
while(scan.hasNextLine()) { String Name = scan.next(); int Adm = scan.nextInt(); int Ana = scan.nextInt(); int Krea = scan.nextInt(); int Afs = scan.nextInt(); Person person = new Person(Name, Adm, Ana, Krea, Afs); PersonList.add(person); } scan.close(); } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.