几周前我开始学习java。我是新人,我犯了很多错误。今天我试图了解异常(exception)情况。我编写了一个计算矩形平方的程序,但是当我放入“a”侧(例如 c 字母)时,它不起作用。我希望它向我显示类似“我们有问题;)”的字符串,但它会引发错误。你能帮助我吗?
package Learning;
import java.io.*;
import java.util.Scanner;
public class Exceptions {
public static void main(String[] args) throws IOException {
double a,b,wynik;
Scanner odc = new Scanner(System.in);
try {
System.out.println("Enter side a: ");
a = odc.nextDouble();
System.out.println("Enter side b: ");
b = odc.nextDouble();
wynik=a*b;
System.out.println("Field equals: "+wynik);
}
catch(NumberFormatException e){
System.out.println("We have a problem ;)");
}
}
}
当我放入 a 侧时,“c”字母我有类似的东西:
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
at Learning.Exceptions.main(Exceptions.java:11)
我需要看到:“我们有问题;)”
最佳答案
捕获InputMismatchException
:
catch(NumberFormatException | InputMismatchException e){ ... }
如果出现 NumberFormatException
或 InputMismatchException
,System.out.println("We have a Problem ;)");
将被执行.
如果您想根据异常类型输出不同的结果,请为 InputMismatchException
创建另一个 catch
block 。
关于java - 异常(exception)情况。我该如何解决这个问题?第一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54061334/