求教一下Java中nextLine() 的作用,最好能举个例子。。
展开全部
要学会看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();
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()
next()不能读取分割符的内容
如果你想读一行带有分割符,例如空格的语句,就要用nextLine()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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); //不能得到输入的信息
}
}
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); //不能得到输入的信息
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String str = new Scanner(System.in).nextLine();
这句语句可以实现将在控制台输入的下一行字符串赋给str。
这句语句可以实现将在控制台输入的下一行字符串赋给str。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询