如何在java中限制用户在一定范围内输入数字?

如何在java中限制用户在一定范围内输入数字?,java,loops,break,continue,Java,Loops,Break,Continue,例如,在Java中,如果您想让用户只输入1000到100000之间的数字,程序将继续执行。否则,请用户在给定范围内再次输入数字 编辑:在这里,我的程序只尝试验证输入一次。在输入有效数据(即1000-100000)之前,我应如何要求用户输入 public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.print("Principal:"); dou

例如,在Java中,如果您想让用户只输入1000到100000之间的数字,程序将继续执行。否则,请用户在给定范围内再次输入数字

编辑:在这里,我的程序只尝试验证输入一次。在输入有效数据(即1000-100000)之前,我应如何要求用户输入

public static void main(String args[]) {

    Scanner sc = new Scanner(System.in);    
    System.out.print("Principal:");
    double principal = sc.nextDouble();

    if(principal<1000 || principal >100000) {
        System.out.println("enter principal again:");
        principal = sc.nextDouble();        
    }
}
publicstaticvoidmain(字符串参数[]){
扫描仪sc=新的扫描仪(System.in);
系统输出打印(“委托人:”);
双主体=sc.nextDouble();
如果(原则上100000){
System.out.println(“再次输入主体:”);
principal=sc.nextDouble();
}
}

您可以在此处使用do while循环,如下所示

public static void main(String []args){
    Scanner in = new Scanner(System.in);
    int result;
   do {
       System.out.println("Enter value bw 1-100");
       result = in.nextInt();
   } while(result < 0 || result > 100);

    System.out.println("correct "+ result);

}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int结果;
做{
System.out.println(“输入值bw 1-100”);
结果=in.nextInt();
}而(结果<0 | |结果>100);
系统输出打印项次(“正确”+结果);
}
导入java.io.*;
导入java.util.*;
导入java.lang.*;
导入java.math.*;
类Myclass{
静态布尔isInteger(双倍数字){
返回Math.ceil(number)=Math.floor(number);
}
公共静态void main(字符串参数[]){
扫描仪输入=新扫描仪(系统输入);
双数;
做{
System.out.print(“输入1000到100000之间的整数:”;
num=in.nextDouble();
}
而((num<1000 | | num>100000)| |(!isInteger(num));
System.out.println(“已验证输入:+num”);
}
}

希望这能帮助您

编写一个
if
语句?这能回答您的问题吗?还需要处理用户输入垃圾而不是整数的情况。要检查输入是否为整数,您可以使用此链接。您是否也可以使用break和continue语句来建议更好的选择?
import java.io.*;
import java.util.*;
import java.lang.*;
import java.math.*;

class Myclass {

    static boolean isInteger(double number){
        return Math.ceil(number) == Math.floor(number); 
    }
    public static void main(String args[]) {

        Scanner in = new Scanner(System.in);    
        double num;
        do{
            System.out.print("Enter a integer between 1000 and 100000 : ");
            num = in.nextDouble();
        }
        while((num < 1000 || num > 100000)||(!isInteger(num)));

        System.out.println("Validated input  : "+num);

    }
}