简体   繁体   English

如何显示错误消息而不是 java 异常?

[英]How to display error message instead of java exception?

I am trying to make a Guessing Game for a Java assignment, I have everything I need except exception handling, you see I'm trying to make it display an error message instead of displaying Exception in thread "main" java.util.InputMismatchException when someone tries to enter a numerical number in alphabetical form.我正在尝试为 Java 分配制作猜谜游戏,除了异常处理外,我拥有我需要的一切,你看我试图让它显示错误消息而不是在线程“主”java.util.InputMismatchException 中显示异常有人试图以字母形式输入数字。 The code I have is followed.遵循我的代码。 (I know I need a try and catch but I don't know what to put exactly.) (我知道我需要试一试,但我不知道该放什么。)

package guessNumber;


import java.util.Scanner;

public class GuessNumberApp {

    public static void main(String[] args) {
        final int LIMIT = 10;

        System.out.println("Guess the number!");
        System.out.println("I'm thinking of a number from 1 to " + LIMIT);
        System.out.println();

        // get a random number between 1 and the limit
        double d = Math.random() * LIMIT; // d is >= 0.0 and < limit
        int number = (int) d;             // convert double to int
        number++;                        // int is >= 1 and <= limit

        // prepare to read input from the user
        Scanner sc = new Scanner(System.in);
        int count = 1;



        while (true) {
            int guess = sc.nextInt();
            System.out.println("You guessed: " + guess);


            if (guess < 1 || guess > LIMIT) {
                System.out.println("Your Guess is Invalid.");
                continue;
            }

            if (guess < number) {
                System.out.println("Too Low.");
            } else if (guess > number) {
                System.out.println("Too High.");
            } else {
                System.out.println("You guessed it in " + count + " tries.\n");
                break;
            }

            count++;
        }


        System.out.println("Bye!");


    }

}

try something like that:尝试这样的事情:

try {
    int guess = sc.nextInt();
} catch(InputMismatchException e) {
    System.out.println("some nice error message");
    continue;
}

This would replace这将取代

int guess = sc.nextInt();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM