一个java小问题,求编程高手~~谢

[复制链接]
查看11 | 回复5 | 2010-12-28 23:04:08 | 显示全部楼层 |阅读模式
Scanner input=Scanner(System.in);
do{

....
}while(input.next().equals("Y"));
很简单吧?就是用户输入y就重新执行一遍dowhile,可为啥还是只执行一遍?
(do循环中也有输入语句,我感觉是input.next()在用户输入Y之前就有值了,是不是要初始化一下Scanner?可input.reset()也不管用啊,求高手指点迷津..)
大哥们...真不是大小写问题...我晕呐... 第一行少写个new笔误,程序里没少写
我感觉...就是 cpych说的原因,难道每次都要new吗? 那为什么我new一次input,可以调用很多次input.next()呢..比如a=input.next(),b=input.next()....

回复

使用道具 举报

千问 | 2010-12-28 23:04:08 | 显示全部楼层
大小写你弄对了吗?大写的 Y 你如果输入小写的那肯定是只运行一遍的。 如果你要不区分大小写那就不是用 equals了,用 equalsIgnoreCase("y"); -----------------------------------------------------------------------------------------------------我实在看不下去了,什么每次都要 new,有些人就喜欢毫无根据乱讲。我很清楚很负责很有根据地告诉你,只需要 new 一次。-----------------------------------------------------------------------------
回复

使用道具 举报

千问 | 2010-12-28 23:04:08 | 显示全部楼层
只有一个 Scanner对象就只能接一次键盘数据要想连续判断 就得Scanner input = null;do{
input=new Scanner(System.in);}while(input.next().equals("Y"));
回复

使用道具 举报

千问 | 2010-12-28 23:04:08 | 显示全部楼层
Scanner input=Scanner(System.in);do{
....}while(input.next().equalsIgnoreCase("y"));没有处理大小写吧。
回复

使用道具 举报

千问 | 2010-12-28 23:04:08 | 显示全部楼层
第一行缺少new 关键字这个语句本身是没有问题可能就是你没有处理大小写
回复

使用道具 举报

千问 | 2010-12-28 23:04:08 | 显示全部楼层
用 equalsIgnoreCase("y"),do{。。。}while是先执行,后判断
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行