gpt4 book ai didi

java - 线程 "main"java.util.InputMismatchException 中出现异常错误

转载 作者:行者123 更新时间:2023-12-01 04:44:11 26 4
gpt4 key购买 nike

我正在为我的 java 类做实验,我做了这个,但无论我如何尝试修复它,我总是收到错误。我知道问题出在我的 switch 语句中的 case 1 下。我尝试重新排序 infiles 并将 inFile.nextLine(); 添加到列表的开头、结尾和中间,但这也不起作用

这是错误:

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:840)
at java.util.Scanner.next(Scanner.java:1461)
at java.util.Scanner.nextInt(Scanner.java:2091)
at java.util.Scanner.nextInt(Scanner.java:2050)
at Lab6.main(Lab6.java:73)

这是我的代码:

    import java.util.Scanner;
import java.io.*;

public class Lab6
{
public static int menu()
{
int ans;

System.out.println("Please chose an option");

System.out.println("1.Class Average");
System.out.println("2.Student Average");
System.out.println("3.Standard Deviation");
System.out.println("4.Letter grades");
System.out.println("5.Minimum/Maximum");
System.out.println("6.Locate : ");
System.out.println("7.Locate All students where the difference between exam1 and exam2>15%");
System.out.println("8.Histogram");
System.out.println("9.Update data");
System.out.println("10.Quit");

Scanner keyboard = new Scanner (System.in);

ans=keyboard.nextInt();

return ans;

}

public static void main (String[] args)throws IOException
{
//variables
int choice;
int testno;
int test1,
test2;
int NewScore;
int count;
int sum1,
sum2;
int avg1,
avg2;
String name;



//get choice

Scanner keyboard = new Scanner (System.in);

choice=menu();

File myFile = new File("lab6_indata.txt");
Scanner inFile = new Scanner(myFile);

switch(choice)
{
case 1:
System.out.println("You Chose Class Average\n");
count=1;
sum1=0;
sum2=0;
avg1=0;
avg2=0;
while(count<=25)
{
test1=inFile.nextInt();
test2=inFile.nextInt();

sum1=sum1 + test1;
sum2=sum2 + test2;
count ++;
}
avg1 = sum1 / count;
avg2 = sum2 / count;

System.out.println("Class Average Test 1:"+ avg1);
System.out.println("Class Average Test 2:"+ avg2);

break;

case 2:
System.out.println("You Chose Student Average");
break;

case 3:
System.out.println("You Chose Standard Deviation");
break;

case 4:
System.out.println("You Chose Letter grades");
break;

case 5:
System.out.println("You Chose Minimum/Maximum");
break;

case 6:
System.out.println("You Chose Locate : ");
break;

case 7:
System.out.println("You Chose Locate All students where the difference between exam1 and exam2>15%");
break;

case 8:
System.out.println("You Chose Histogram");
break;

case 9:
System.out.println("You Chose Update data");
System.out.println("Please Enter Name");
name=keyboard.nextLine();
System.out.println("Are you updating test number 1 or 2?");
testno=keyboard.nextInt();
System.out.println("What is the new score?");
NewScore=keyboard.nextInt();
break;

case 10:
System.out.println("Program Ended");
break;

default:
System.out.println("Error: Invaild option");
break;

}

inFile.close();



}


}

这是我的文件:

*Robert     70  82
*Joel 64 50
*Alice 98 95
*Jasmine 76 92
*Larry 42 69
*Elizabeth 79 85
*Frank 75 66
*Christine 20 36
*Alex 0 52
*Ariel 84 81
*Luis 65 77
*Nicole 40 89
*Mitch 90 94
*Randy 88 86
*Tammy 91 84
*Sarah 78 71
*Samuel 80 66
*Lauren 55 63
*Deanna 97 99
*Mathew 100 87
*Justin 68 76
*Beth 96 95
*Rebecca 85 83
*Paul 44 65
*Lucy 34 56

也许我的 inFile 需要采用不同的格式?

最佳答案

每行中的第一个标记是一个String,因此需要在读取任何整数之前使用它

String studentName = inFile.next();
test1 = ...

关于java - 线程 "main"java.util.InputMismatchException 中出现异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16094613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com