Java 两个数的基本加法
很抱歉问了一个简单的问题,但我在这里完全是初学者。所以问题是,当我将以下代码复制到eclipse中时,它工作得很好。但当我将变量类型从int改为double时,它显示了某种错误。请检查一下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
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。如果可能的话,请查看以下教程,并告知我它是否有效。您可能设置了使用,
而不是
的区域设置。