关于Java Scanner的问题

我想scan由多个单词组成的人名,代码如下System.out.print("Pleaseinputtheusername:");name=scanner.next();... 我想scan由多个单词组成的人名,代码如下

System.out.print(" Please input the user name: ");
name = scanner.next();
while(scanner.hasNext())
name = name + " " + scanner.next();

求问程序到这里就不往下运行了,会一直可以输入,然后加到name里,这是为什么?
另,Scanner的nextLine()是跳过当前行,读取下一行的输入吧,这个要怎么用?
展开
 我来答
zakaz168
2013-06-25 · TA获得超过345个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:229万
展开全部
name = scanner.next(); 
while(scanner.hasNext()){// 这里其实就是等待你输入下一行,所以是个死循环来的
    String value = scanner.next();
    if(value.equals("exit"))break;//一般在这里加入一条判断
    //或者用boolean等等都可以    
    name += value;
}
更多追问追答
追问
我刚试了一下 好像还是不行呀
追答
name = "";// 这里不能定义成name = scanner.next();
while(scanner.hasNext()){// 这里其实就是等待你输入下一行,所以是个死循环来的
    String value = scanner.next();
    if(value.equals("exit"))break;//一般在这里加入一条判断
    //或者用boolean等等都可以    
    name += value;
}
whudwl
2013-06-25 · TA获得超过1579个赞
知道小有建树答主
回答量:2118
采纳率:50%
帮助的人:1241万
展开全部
我不说nextLine怎么用, 单说你这段代码怎么用.

你可以输入随意多的单词, 当你要结束输入的时候, 俺Ctrl+z, 然后回车, 这样就可以了
Ctrl+z告诉scanner输入结束了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c2ac8041
2013-06-26 · TA获得超过880个赞
知道小有建树答主
回答量:468
采纳率:100%
帮助的人:263万
展开全部
Scanner sc=new Scanner(System.in);
sc.nextLine();
用什么hasNext咯,你这不死循环才怪。你这只需要一次输入,用while干什么呢?
追问
用nextLine直接就跳过了往下运行程序 输入不了
追答
那就去掉Line,scanner输入,一般直接用sc.nextInt.  nextFloat什么的,不用哈hasNext
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式