[問題] 一個輸入的問題
大家好,我是自己學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
→
12/04 16:03, , 1F
12/04 16:03, 1F
→
12/04 16:16, , 2F
12/04 16:16, 2F
推
12/05 09:37, , 3F
12/05 09:37, 3F