在if语句WITHOUT变量中验证扫描仪用户输入

Ano*_*ous 7 java if-statement java.util.scanner

目的是减少变量的数量,而不是做许多变量,我想做这样的事情:

Scanner scnr = new Scanner(System.in); 

int number = 0;

scnr.nextInt();  

if (((scnr.nextInt() >= 4) && (scnr.nextInt() <=10))) 
{
   number = scnr.nextInt();
}
Run Code Online (Sandbox Code Playgroud)

代替

Scanner scnr = new Scanner(System.in); 

int number = 0;
int validNum = 0;

number = scnr.nextInt();  

if (((number >= 4) && (number <=10))) 
{
   validNum = number;
}
Run Code Online (Sandbox Code Playgroud)

Rco*_*val 5

您可以使用hasNext(String pattern)

主要的:

import java.util.Scanner;

public class Test
{

    public static void main ( String [ ] args )
    {
        System.out.print ( "Enter number: " );
        Scanner scnr = new Scanner(System.in); 

        int number = 0;
        //Check number within range 4-10
        if (scnr.hasNext ( "^[4-9]|10" )) 
        {
           number = scnr.nextInt();
           System.out.println ( "Good Number: " + number );
        }
        else{
            System.out.println ( "Is not number or not in range" );
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

测试:

Enter number: 3
Is not number or not in range
Enter number: 4
Good Number: 4
Enter number: 10
Good Number: 10
Enter number: 11
Is not number or not in range
Run Code Online (Sandbox Code Playgroud)