Redian新闻
>
一个比较菜鸟的数据输入的验证问题..谢谢..
avatar
一个比较菜鸟的数据输入的验证问题..谢谢..# Java - 爪哇娇娃
o*i
1
题目是这样的:
Write a code segment to prompt the user to input an integer between 0 and
100 (inclusive) and keep prompting the user until he does so. Verify both
the integer data type entered and the range.
我写的代码,有两个问题,一个是如果第一次输入的是小数,那会进入异常处理,可是
如果在catch的时候继续输入小数,那JAVA就处理不了了,然后就会出错。怎么才能改
进达到要求呢?谢谢!
import java.util.*;
public class Input {
public static void main(String[] args){
Scanner input= new Scanner(System.in);
boolean finish=true;
int i=-1;
while(finish){
avatar
g*g
2
int a = 0;
while(true){
try{
a = scanner.nextInt();
if(! a in range) {
continue;
}else {
break;
}
} catch(Exception e){
continue;
}
}

【在 o****i 的大作中提到】
: 题目是这样的:
: Write a code segment to prompt the user to input an integer between 0 and
: 100 (inclusive) and keep prompting the user until he does so. Verify both
: the integer data type entered and the range.
: 我写的代码,有两个问题,一个是如果第一次输入的是小数,那会进入异常处理,可是
: 如果在catch的时候继续输入小数,那JAVA就处理不了了,然后就会出错。怎么才能改
: 进达到要求呢?谢谢!
: import java.util.*;
: public class Input {
: public static void main(String[] args){

avatar
o*i
3
我改了下,新的代码是
import java.util.*;
public class Input {
public static void main(String[] args){
Scanner input= new Scanner(System.in);
boolean finish=true;
int i=-1;
while(finish){
try{
System.out.println("Input an integer between 0 and 100:"
);
i=input.nextInt();
if(i>100||i<0){
System.out.println("Number input need to between 0
and 100");
}
avatar
h*0
4
因为你逻辑上不严谨。
输入错误了,你知道要finish = false;那输入正确时,你应该要记得让finish = true
;啊

【在 o****i 的大作中提到】
: 我改了下,新的代码是
: import java.util.*;
: public class Input {
: public static void main(String[] args){
: Scanner input= new Scanner(System.in);
: boolean finish=true;
: int i=-1;
: while(finish){
: try{
: System.out.println("Input an integer between 0 and 100:"

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。