This question already has answers here:
How to check if a String is numeric in Java
                                
                                    (39个答案)
                                
                        
                6年前关闭。
            
        

我编写了一个程序,要求用户输入0到8之间的数字,如果不是数字,则会出现一条消息,要求输入数字。如果输入字母,则在下一行将显示“请输入数字”。

我该怎么做呢?如果大于8,则保持8;如果小于0,则保持0。

        if (number >= 8) {
            number = 8;
        } else if (number <= 0) {
            number = 0;
        }




更新:

    System.out.println("Enter The Number you want:<0 - 8> ");
    number = in.nextInt(); \\ in is the name of scanner

    try {
      if number = in.nextInt();
      if(number >= 8) {
        number = 8;
      } else if (number <= 0) {
        number = 0;
      }
    } catch (NumberFormatException e) {
      System.out.println("Enter a number");
    }


这没有用,我在做什么错?

最佳答案

您可以使用Scanner类从System.in读取并检查字符串是否为数字:

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

Scanner sc = new Scanner(System.in);
try {
    int i = sc.nextInt();
} catch (InputMismatchException exc) {
    System.out.println("not a number");
}

09-11 19:30
查看更多