在java中使用3个验证参数进行输入验证
我有这段代码来验证一个输入,这个输入是相对于一个用户所下的赌注在java中使用3个验证参数进行输入验证,java,validation,input,do-while,Java,Validation,Input,Do While,我有这段代码来验证一个输入,这个输入是相对于一个用户所下的赌注 它需要是一个int 它需要大于0 它需要低于可用信用(用户信用) 如果用户写入字符串,则应显示:input+“不是有效数字” 如果用户将一个整数写在零以下或等于零,它应该连续地说:“请输入一个正数:” 如果用户写入的整数高于可用的积分,则应显示:“不够积分” 我现在掌握的代码如下: Scanner scanner = new Scanner(System.in); int number; do { System.out.
- 它需要是一个int
- 它需要大于0
- 它需要低于可用信用(用户信用)
Scanner scanner = new Scanner(System.in);
int number;
do {
System.out.print("Please enter a positive number: ");
while (!scanner.hasNextInt()) {
String input = scanner.next();
System.out.printf(input + " is not a valid number.\n");
}
number = scanner.nextInt();
} while (number < 0);
System.out.printf("You have entered the number " + number);
Scanner Scanner=新的扫描仪(System.in);
整数;
做{
System.out.print(“请输入正数:”);
而(!scanner.hasnetint()){
字符串输入=scanner.next();
System.out.printf(输入+”不是有效数字。\n“;
}
编号=scanner.nextInt();
}而(数量<0);
System.out.printf(“您已输入数字”+数字);
我有1。二,。用这段代码来解决这个问题,但我不能毫无代价地添加第三(3.)条语句,因为它要求相同的输入加倍,或者它给出了一个错误InputMissMatchException,因为它假定为整数,但在测试中有时会这样做
这个数字应该是赌注
请帮助xD您的逻辑相当复杂,很难理解。我认为在完成这项任务后,您应该寻求一些帮助,并找到更好的方法来构造这段代码。(目前,讲师通常要求您提交自己的作品,所以我不会试图更改您的代码。) 按照您现在获取代码的方式,您必须分两部分进行最终检查。首先,检查并决定是否打印错误消息。第二,检查并决定是否继续循环
do {
System.out.print("Please enter a positive number: ");
while (!scanner.hasNextInt()) {
String input = scanner.next();
System.out.printf(input + " is not a valid number.\n");
}
number = scanner.nextInt();
if( number > credits )
System.out.println( "Not enough credits." );
} while (number < 0 || number > credits);
do{
System.out.print(“请输入正数:”);
而(!scanner.hasnetint()){
字符串输入=scanner.next();
System.out.printf(输入+”不是有效数字。\n“;
}
编号=scanner.nextInt();
如果(数字>学分)
System.out.println(“没有足够的学分”);
}而(数字<0 | |数字>学分);
我不需要附加此代码,如果您提供了一种比此代码更好、更高效、更实用的方法来获取介于1和其他int之间的int输入,请成为我的来宾xD