为了账号安全,请及时绑定邮箱和手机立即绑定

大佬们,求帮助!我想验证输入一个a时,程序会报“命令错误”的异常,就输入了一个a,我在运行时出现这样的异常,而且这个异常重复了好多遍,我知道这个原因是,输入的值没有清空,但是该怎么解决啊?

大佬们,求帮助!运行时我就输入了一个a,出现这样的异常,而且这个异常重复了好多遍,这个原因是不是:代码中没有将输入的值没有清空,同时该怎么解决啊?

https://img1.sycdn.imooc.com//5c8706770001084209940506.jpg

https://img1.sycdn.imooc.com//5c8706770001ebd510840335.jpg

https://img1.sycdn.imooc.com//5c870677000127ec11610593.jpg

异常好多行,我就截了其中一部分

https://img1.sycdn.imooc.com//5c8706770001bf7712510540.jpg


正在回答

2 回答

你把Scanner的声明放到test函数里面就行了

0 回复 有任何疑惑可以回复我~
#1

霸气小肆毛 提问者

大佬,请帮忙解释一下原因啊,不太理解,为什么放到里面就行了,谢谢啊
2019-03-12 回复 有任何疑惑可以回复我~
#2

阿七233 回复 霸气小肆毛 提问者

之前建立的Scanner类对象的nextInt()接收的非整型值没有被释放,除了被try catch语句块捕获输入不匹配异常并进行循环(因为你在catch中调用的test方法)外,因在第二次循环时,没有新建新的Scanner类对象,导致原Scanner类对象的nextInt()接收的非整型值被直接赋予给了ID变量,导致出现死循环,所以每次循环(test方法开始)开始重新实例化Scanner对象就好了。
2019-03-12 回复 有任何疑惑可以回复我~
#3

霸气小肆毛 提问者 回复 阿七233

懂了,大佬回答的很详细,谢谢谢谢。?
2019-03-12 回复 有任何疑惑可以回复我~
#4

霸气小肆毛 提问者 回复 霸气小肆毛 提问者

大佬,我还想请问您一个问题。 问题如下:程序运行后,光标一直显示在提示的同一行,怎么才能使输入光标出现在提示的下一行? (我有好几次因为这个原因使得,我以为我代码写错了,) 图在您回复的下面。 比方说我输入大学英语(数组里面有),结果显示不存在,代码写的是对的(我改变光标位置,系统显示就有这本书了), 我猜测原因是,因为光标的原因,系统可能将提示也一起传进去了。这个该怎么改进啊。
2019-03-12 回复 有任何疑惑可以回复我~
#5

亦菲大魔王 回复 阿七233

我在try的外面定义了一个 int a=0;然后在try的里面用 a= in.nextInt();来接收键盘的输入。但是还是会出现这种情况。这是为啥?按理说我每次重新运行test类的时候,应该都会先读取到int a=0这段代码,就不应该会出现输入不匹配异常的吧。
2019-03-14 回复 有任何疑惑可以回复我~
查看2条回复

光标怎么才能出现在提示的下一行

https://img1.sycdn.imooc.com//5c876adc0001e09510260535.jpg

https://img1.sycdn.imooc.com//5c876bba00013b7510020451.jpg

我数组里有大学英语这本书,结果如下https://img1.sycdn.imooc.com//5c876c8b00017f5509290349.jpg

1 回复 有任何疑惑可以回复我~
#1

阿七233

光标那个控制台输入都是这样,不用管 第二个,如果输出跟你预期结果不一样,你可以学习一下调试,看程序运行,数据变化一般都能找到错在哪
2019-03-12 回复 有任何疑惑可以回复我~
#2

霸气小肆毛 提问者 回复 阿七233

好的好的,谢谢大佬?
2019-03-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

大佬们,求帮助!我想验证输入一个a时,程序会报“命令错误”的异常,就输入了一个a,我在运行时出现这样的异常,而且这个异常重复了好多遍,我知道这个原因是,输入的值没有清空,但是该怎么解决啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信