Scanner的一些問題
import java.util.Scanner;
public class 無參帶返回值方法的使用 {
? ? public static void main(String[] args) { ? ? ? ?
// 創(chuàng)建名為hello的對象
? ? 無參帶返回值方法的使用 hello = new 無參帶返回值方法的使用(); ? ? ?
// 調(diào)用hello對象的calcAvg()方法,并將返回值保存在變量avg中
double avg =hello.calcAVG(); ? ? ? ??
System.out.println("平均成績?yōu)椋? + avg);
}
// 定義一個返回值為double類型的方法
? ?public double calcAVG() {?
? ?Scanner input=new Scanner(System.in);//創(chuàng)建Scanner對像
? ?System.out.println("請輸入第一個數(shù)值:");
? ?double java=input.nextInt();?
? ?System.out.println("請輸入第二個數(shù)值:");
? ?double php=input.nextInt();
double avg = (java + php) / 2; // 計算平均值 ? ? ??
// 使用return返回值
? ? ? ? return avg; ? ? ? ?
}
}
這個問題出在哪里?
下面為報錯:
請輸入第一個數(shù)值:
96.5
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at 無參帶返回值方法的使用.無參帶返回值方法的使用.calcAVG(無參帶返回值方法的使用.java:17)
at 無參帶返回值方法的使用.無參帶返回值方法的使用.main(無參帶返回值方法的使用.java:10)
(這個報錯是什么意思)
2015-11-02
用input.nextDouble()方法試試,這個異常是輸入的數(shù)據(jù)類型不匹配造成的
2015-11-02
?double java=input.nextInt(); ??double php=input.nextInt();
改成input.NextDouble();