Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 两个数的基本加法_Java_Addition_Inputmismatchexception - Fatal编程技术网

Java 两个数的基本加法

Java 两个数的基本加法,java,addition,inputmismatchexception,Java,Addition,Inputmismatchexception,很抱歉问了一个简单的问题,但我在这里完全是初学者。所以问题是,当我将以下代码复制到eclipse中时,它工作得很好。但当我将变量类型从int改为double时,它显示了某种错误。请检查一下 import java.util.Scanner; class AddNumbers { public static void main(String args[]) { double x, y, z; System.out.println("Enter two inte

很抱歉问了一个简单的问题,但我在这里完全是初学者。所以问题是,当我将以下代码复制到eclipse中时,它工作得很好。但当我将变量类型从int改为double时,它显示了某种错误。请检查一下

import java.util.Scanner;

class AddNumbers
{
   public static void main(String args[])
   {
      double x, y, z;
      System.out.println("Enter two integers to calculate their sum ");
      Scanner in = new Scanner(System.in);
      x = in.nextDouble();
      y = in.nextDouble();
      z = x + y;
      System.out.println("Sum of entered integers = "+z);
   }
}
顺便说一句,错误如下

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 AddNumbers.main(AddNumbers.java:10)
这是我刚看的视频教程()我刚试着复制它

import java.util.Scanner;

class HelloWorld{

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

}
我得到以下错误:

Enter first number:
34.6
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 HelloWorld.main(HelloWorld.java:11)

您可能输入了无法解释为双精度字符的内容(字母或特殊字符)

您必须严格地只输入数字

检查您的输入。

你看。我得到了正确的答案。 所以你必须像他们说的那样展示你的直觉

您还可以像下面这样修改代码,使其更强大

import java.util.InputMismatchException;
import java.util.Scanner;

class AddNumbers
{
public static void main(String args[])
  {
    double x, y, z;
    System.out.println("Enter two double to calculate their sum ");
    Scanner in = new Scanner(System.in);

    while (true) {
        try {
            x = Double.parseDouble(in.nextLine());
            y = Double.parseDouble(in.nextLine());
            z = x + y;
            System.out.println("Sum of entered double = " + z);
            break;
        } catch (Exception e) {
            System.out.println("Not a double param, please enter again");
            continue;
        }
    }

}

}

您输入了什么?您输入了什么?Thilo,Bandi Kishore,34.6工作正常!处理-注意,您必须输入两个号码,因为您要调用
.nextDouble()
两次。我只输入了34.6。如果可能的话,请查看以下教程,并告知我它是否有效。您可能设置了使用
而不是
的区域设置。