求教一下Java中nextLine() 的作用,最好能举个例子。。

求教一下Java中nextLine()的作用,最好能举个例子。。... 求教一下Java中nextLine() 的作用,最好能举个例子。。 展开
 我来答
flyingFish211
2012-03-05 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
要学会看API
public String readLine()
throws IOException读取一个文本行。通过下列字符之一即可认为某行已终止:换行 ('\n')、回车 ('\r') 或回车后直接跟着换行。

public String nextLine()此扫描器执行当前行,并返回跳过的输入信息。 此方法返回当前行的其余部分,不包括结尾处的行分隔符。当前位置移至下一行的行首。
因为此方法会继续在输入信息中查找行分隔符,所以如果没有行分隔符,它可能会缓冲所有输入信息,并查找要跳过的行。

java.util.Scanner scanner = new java.util.Scanner(System.in);
String nextLine = scanner.nextLine();
追问
我就是不理解API这段话的意思。。
do{
if(sc.hasNextInt()){
i=sc.nextInt();
System.out.println(i);
}else{
System.out.println("类型错误");
sc.nextLine();
continue;
}
System.out.print("是否继续(y/n)");
yn=sc.next();
}while(yn.equals("y"));
这里面我把sc.nextLine();去掉就成了死循环了。他在这里起的什么作用呢?
追答
你那个应该是线程堵塞引起的
因为你sc.hasNextInt()为false,然后,scanner还在继续等待你输入,但是你走到else里面继续循环去了。所以导致一直I/O杜塞。

必须用scanner读取一点东西才能避免,所以你可以用
sc.next();
or
sc.nextLine()来避免那样的错误
匿名用户
2012-03-06
展开全部
nextLine()用来读取一行。常用来和next()对比。
next()不能读取分割符的内容
如果你想读一行带有分割符,例如空格的语句,就要用nextLine()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天使之爱你
推荐于2018-05-12 · 超过20用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:38.1万
展开全部
nextLine() 切换到下一行
import java.util.*;
class Demo{

public static void main (String[] args) {

Scanner reader=new Scanner(System.in);
System.out.println("Input a number:");
double sco=reader.nextDouble();
System.out.println(sco);
reader.nextLine(); //不知这句是否需要
String str=reader.nextLine();
String[]ts=str.split(" ");
for(String t:ts)
System.out.println(t); //不能得到输入的信息

}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Domon_hm
2012-03-05 · TA获得超过1041个赞
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:105万
展开全部
String str = new Scanner(System.in).nextLine();
这句语句可以实现将在控制台输入的下一行字符串赋给str。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式