Java简单计算错误

时间:2015-02-01 20:37:59

标签: java arrays

我只想计算这两个双变量,但是在输入第一个变量值后它会粘住。 对不起这个简单的问题,但我是初学者,谢谢你知道和时间的人!!

import java.util.Scanner;

class apples {
 public static void main(String args[]){
        Scanner vaclovass =  new Scanner(System.in);
        double fnum, snum, answer;
        System.out.println("Enter first num: ");
        fnum = vaclovass.nextDouble();
        System.out.println("Enter second num: ");
        snum = vaclovass.nextDouble();
        answer = fnum + snum;
        System.out.println(answer);
    }
}

问题

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.nextDouble(Unknown Source)
    at apples.main(apples.java:8)

3 个答案:

答案 0 :(得分:0)

你可能没有进入" double"像2.5或3.56677。看看这个:stackoverflow.com/questions/14027537 /

答案 1 :(得分:0)

抛出java.util.InputMismatchException(在第8行),因为您输入控制台的输入与类型不匹配。例如:

fnum = vaclovass.nextDouble(); //assumes you input a double value, eg. 3.1, 3d, 39, 3294.39234 etc...

如果您打印3,4或hello

,则会发生错误

注意:您的问题最有可能发生在那里,您可能使用了逗号而不是小数符号(,或。)

如果输入两个double值,这应该有效。这是一个示例输入(控制台):

Enter first num: 
391.2                  //first input
Enter second num:
3.2d                   //second input
394.4                  //this is your output (added answer)

答案 2 :(得分:0)

可能问题在于您输入的数字。由于它们是双变量,因此它们必须具有浮点。换句话说,如果要输入数字3,则必须输入3.0。我猜你输入的数字不是文字。