作者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
→ dontkissme:因為我語法都是自己查知識自己打的 12/04 16:03
→ dontkissme:剛剛改成 scan.next就好了~沒有加上line 12/04 16:16
推 rebellian:scan.nextLine會把你下一個println指令也印出來所以錯誤 12/05 09:37