永发信息网

JAVA里用一个循环和hasNextInt判断输入的变量是否为整数,如果不是,重新提示输入直到正确

答案:2  悬赏:0  手机版
解决时间 2021-04-07 16:56
  • 提问者网友:椧運幽默
  • 2021-04-06 16:46
JAVA里用一个循环和hasNextInt判断输入的变量是否为整数,如果不是,重新提示输入直到正确
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-04-06 17:02
你可以把你的代码贴出来看看。追问你去看我昨天发了的,昨天有个问题追答。。这我怎么找,我是想看看你有什么问题帮你改,我直接给你写吧。
public void test() {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入整数");
boolean flag=true;
while(flag){
if(!scanner.hasNextInt()){
test();
}else{
System.out.println("输入的整数为:"+scanner.nextInt());
flag=false;
}
scanner.close();
}

}追问public void inputInfo(){
System.out.print("请输入姓名: ");
name = read.next();
System.out.print("请输入年龄: ");
if(read.hasNextInt())
age=read.nextInt();
else
System.out.println("input again");
}追答你这是if语句,就只能执行一次的。输出input again就结束了追问对啊,做循环的就会一直循环,我就换成这个,然后也不行
还有这种时候也需要那个判断是否为整数追答你要么直接在写个方法,把要求输入写到那个方法里面去,返回输入值,然后用循环,不是整数就再调用方法,是整数就退出循环。追问这样也可以,我也试过,然后是死循环死机了追答怎么会死循环,满足了就跳出来啊。你后面那段代码,对ch进行判断可以这么写。
int ch=-1;
while(!read.hasNextInt()){
System.out.println("请重新输入");
read.next();
}
ch=read.nextInt();
不满足会一直提示输入,满足跳出循环再赋值追问OK谢谢,这个可以,我知道我哪里的问题了,那个read.next()是一定不能少的。
全部回答
  • 1楼网友:撞了怀
  • 2021-04-06 17:23
这个的慢慢摸索追问😭😭我太笨
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯