有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java IF NOT语句

import java.util.Random;
import java.util.Scanner;

public class Game {
    public static void main(String[] args) {

        System.out.println("Guess a number betwwen 1 and 1000");

        Random rand = new Random(); 
        int secretNumber = rand.nextInt (1000);


        Scanner keyboard = new Scanner(System.in);
        int guess;

        do {
        guess = keyboard.nextInt();

        if (guess == secretNumber)
            System.out.println("You WON!!! Congratulations!");
        else if (guess < secretNumber)
             System.out.println("Nope, to low");
        else if (guess > secretNumber)
            System.out.println("Sorry, to high");


        } while (guess != secretNumber);


    }
}

我怎样才能在这段代码中添加一条语句,如果不是数字输入系统的话。出来println(“无效输入,请仅使用类型号!”)


共 (4) 个答案

  1. # 1 楼答案

    public class Game {
        public static void main(String[] args) {
    
        System.out.println("Guess a number betwwen 1 and 1000");
    
        Random rand = new Random(); 
        int secretNumber = rand.nextInt (1000);
    
    
        Scanner keyboard = new Scanner(System.in);
        int guess;
    
        do {
        if (!keyboard.hasNextInt()) {
            System.out.println("invalid input, please use type numbers only!");
            return;
        }
        guess = keyboard.nextInt();
    
        if (guess == secretNumber)
            System.out.println("You WON!!! Congratulations!");
        else if (guess < secretNumber)
             System.out.println("Nope, to low");
        else if (guess > secretNumber)
            System.out.println("Sorry, to high");
    
    
        } while (guess != secretNumber);
    
    
        }
    }
    
  2. # 2 楼答案

    扫描仪。nextInt()抛出 InputMismatchException如果下一个标记与整数正则表达式不匹配,或者超出范围

    所以你应该把你的代码包装成一个试一试的过程,记住这一点

  3. # 3 楼答案

    我想你应该把下面的内容包装在guess=键盘上。nextInt():

     try  
     {  
         guess = keyboard.nextInt()
         Integer.parseInt(guess);  
    
         <your if statements>
    
      } catch(Exception ex)  
      {  
        System.out.println("Your comment");
      }  
    
  4. # 4 楼答案

    可以在循环中添加一个try-catch块

      do {
      try{
        guess = keyboard.nextInt();
    
        if (guess == secretNumber)
            System.out.println("You WON!!! Congratulations!");
        else if (guess < secretNumber)
             System.out.println("Nope, to low");
        else if (guess > secretNumber)
            System.out.println("Sorry, to high");
        }
    catch(InputMismatchException e){
    System.out.prinln("Not a number");
    }
    
    
        } while (guess != secretNumber);