如何显示例外?

Jim*_*Tim 3 java exception converter

我正在检查用户输入的号码是否是Zeckendorf,如果不是,我想显示异常,我该怎么做?另外我如何将Zeckondorf转换为十进制等值?

import java.util.Scanner;


public class IZeckendorfNumberConvertor {
static String number;
int zeckonderEquivalent;
static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {

    convertToZeckonderNumber();
    isTrueZeckonderNumber();
}

private static boolean isTrueZeckonderNumber() {
    System.out.println("Enter a Zeckonder Number:");
    number = scanner.nextLine();
    if (number.equals("10100")) 
    {
        return true; } 
    else if (number.equals("010011") || number.equals("010100")) 
    { 
        return false; }
    return false;
}

private static void convertToZeckonderNumber() {

}}
Run Code Online (Sandbox Code Playgroud)

gio*_*shc 6

我建议你不要显示异常(即跟踪等),因为它非常不友好.您可以使用throw语法抛出适当的异常:

 throw new Exception("Given number is not a Zeckendorf number");
Run Code Online (Sandbox Code Playgroud)

但一定要抓住它并显示一个漂亮而干净的消息:

try {
   // Your input code goes here
} catch (Exception e) {
    System.out.println(e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

另一个更简单的选择是只检查方法的返回值并相应地打印结果.

我建议使用后一种解决方案,因为当你的程序中发生了一些不良和意外的事情并且你想要优雅地处理它时会使用异常.在您的情况下,行为是预期的(即用户给出错误的数字),因此检查返回值将更干净,更容易.