作者dontkissme (不要亲我)
看板java
标题[问题] 一个输入的问题
时间Thu Dec 4 15:50:26 2008
大家好,我是自己学java,我不知道标题应该选哪种
我之前写过其他程式语言
我刚刚在写同学一个作业的时候
发现了一个问题,编译都没错,可是执行的时候到一个地方就会出错!
麻烦帮我看一下
程式码如下:
--------------------------------
import java.util.Scanner;
public class score{
public static void main(String[] args){
//程式开始
Scanner scan = new Scanner(System.in); //宣告记忆体区
// ※宣告区
///////////////////////////////////
String Name1=""; //名字1
String Name2=""; //名字2
String Name3=""; //名字3
int Score1=0; //分数1
int Score2=0; //分数2
int Score3=0; //分数3
int Max=0; //最大值
///////////////////////////////////
// ※输入 区
///////////////////////////////////////////
System.out.print("请输入第1位同学的名字:");
Name1= scan.nextLine();
System.out.print("请输入分数:");
Score1= scan.nextInt();
System.out.print("请输入第2位同学的名字:");
Name2= scan.nextLine();
System.out.print("请输入分数:");
Score2= scan.nextInt();
System.out.print("请输入第3位同学的名字:");
Name3= scan.nextLine();
System.out.print("请输入分数:");
Score3= scan.nextInt();
//////////////////////////////////////////
// ※判断区
/////////////////////////////////////////
if (Score1 >= Max)
Max=Score1;
if (Score2 >= Max)
Max=Score2;
if (Score3 >= Max)
Max=Score3;
/////////////////////////////////////////
// ※输出 区
///////////////////////////////////////////
if (Score1==Max)
System.out.print(Name1+"同学考得最高分"+Score1+"。");
if (Score2==Max)
System.out.print(Name2+"同学考得最高分"+Score2+"。");
if (Score3==Max)
System.out.print(Name3+"同学考得最高分"+Score3+"。");
//////////////////////////////////////////
}
}
//程式结束
-----------------------------------------------------------
执行画面如下:
请输入第1位同学的名字:天线宝宝
请输入分数:99
请输入第2位同学的名字:请输入分数:迪西
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at score.main(score.java:42)
C:\>
我没办法继续输入了,未知的来源?
有人可以帮我解释一下吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.60.11.159
1F:→ dontkissme:因为我语法都是自己查知识自己打的 12/04 16:03
2F:→ dontkissme:刚刚改成 scan.next就好了~没有加上line 12/04 16:16
3F:推 rebellian:scan.nextLine会把你下一个println指令也印出来所以错误 12/05 09:37