JAVA--我的代码运行前没有报错,可是就是运行不下去了,这是什么情况??大佬求解答?
时间: 2020-04-24来源:博客园
前景提要
JAVA--我的代码运行前没有报错,可是就是运行不下去了,这是什么情况??大佬求解答?
0 悬赏园豆: 5 [待解决问题]
这是什么情况啊???
我的代码如下: import java.util.Scanner; public class 模拟QQ设置密码时检测长度 { public static void main(String[] args) { Scanner sc =new Scanner(System.in); String password1="这个是初值,随便写一个即可"; int length = password1.length(); while(true) {//当字符长度在6~18之间 System.out.println("请输入密码"+"(字符长度在6~18位之间)");// password1=sc.nextLine(); if(length<6 || length>18){ System.out.println("密码不符合规范,请控制密码长度在6~18位之间"); }else { System.out.println("恭喜您,密码设定成功"); } sc.close(); } } }
而且没有报错,只是在运行的时候才会跳出来
JAVA JAVA SE ECLIPSE ICY-CHAIN不吝 | 菜鸟二级 | 园豆: 201
提问于:2020-04-24 16:53 显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
< > 分享
分享您的问题
所有回答(5) 1 你调用了sc.close()之后再一次调用了sc.nextLine(),此时因为cs已经closed了,所以报错。你试试把sc.close()放到while循环外面去。我只是猜测,我不会java 会长 | 园豆:8408 (大侠五级) | 2020-04-24 17:03 不错,你看出了问题所在!不需要关闭Scanner 支持( 0 ) 反对( 0 ) 小锅牛 | 园豆:198 (初学一级) | 2020-04-30 22:04 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 sc.close()去掉 这个只是开启键盘输入 不需要关闭的 胖陀螺的春天 | 园豆:283 (菜鸟二级) | 2020-04-24 17:28 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 你把sc.close()去掉就不报错了。。
还有你这代码写的有点小错,按照上面👆🏻的代码,你就是输入1位,它也会提示你密码设置成功,建议你把第8行放到第12行下面,当密码设置成功后你可以跳出循环,加个break 12赞 | 园豆:204 (菜鸟二级) | 2020-04-25 21:12 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 sc.close()去掉;
还有中文当类名,非常不可取,比aaa,bbb还不好 !#¥% | 园豆:647 (小虾三级) | 2020-04-26 10:45 编辑文本 预览 上传图片
Ctrl+Enter键快速提交 0 别用中文类名,会产生乱码问题,而且Scanner不需要调用close()方法! 小锅牛 | 园豆:198 (初学一级) | 2020-04-30 22:05 编辑文本 预览 上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要 登录 以后才能回答,未注册用户请先 注册 。

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行