【发布时间】:2019-10-20 04:49:08
【问题描述】:
出于某种原因,我在第 44 行不断收到 inputmistmatch 异常 (int fileAge = inputFile.nextInt();)
我已尝试隔离该部分代码并将其与手动创建的文件一起使用,但它仍然给出相同的错误。我尝试使用不同的分隔符而不是分号。我尝试删除年龄变量,而是重新编写代码,因此它只从性别开始询问,但随后我开始收到没有此类元素的异常。不知道是什么问题。
public static void main(String[]args) {
Scanner kb = new Scanner (System.in);
int age;
String gender;
String email;
int salary;
int end;
int maleCount = 0;
int femaleCount = 0;
do {
System.out.println("Please enter age");
age = kb.nextInt();
age = validateAge(age);
System.out.println("Please enter gender. male or female: ");
gender = kb.next();
System.out.println("Please enter email");
email = kb.next();
System.out.println("Please enter annual salary");
salary = kb.nextInt();
salary = validateSalary(salary);
try {
FileWriter fw = new FileWriter("salaries.txt", true);
PrintWriter outputFile = new PrintWriter(fw);
outputFile.println(age + ";" + gender + ";" + email + ";" + salary);
outputFile.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Add another person or end here? Enter 1 to end or 2 to continue: ");
end = kb.nextInt();
}while (end != 1);
Scanner inputFile = new Scanner("salaries.txt").useDelimiter(";");
while(inputFile.hasNext()) {
int fileAge = inputFile.nextInt(); //i get the error here
String fileGender = inputFile.next();
String fileEmail = inputFile.next();
int fileSalary = inputFile.nextInt();
if(fileGender.equals("male")) {
maleCount ++;
}else {
femaleCount ++;
}
}
【问题讨论】:
标签: java inputmismatchexception