关于scanner中最常用的就是hasNext(),next(),nextLine()方法了:
1.同时使用
import java.util.Scanner;
public class scannerTest {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//next()函数从遇到的第一个有效的字符开始扫描,直到遇到第一个空格扫描结束
String str1 = in.next();
System.out.println("str1: " + str1);
//nextLine()函数从空格开始扫描知直到遇到\n符结束,前面还有一个空格
String str2 = in.nextLine();
System.out.println("str2: " + str2);
}
}
输入:
123 456abc 6hnv
输出结果:
str1: 123
str2: 456abc 6hnv(注意前面有一个空格!!)
attention:
1、如果要同时使用next和nextLine()时,要慎用,因为联合使用时就是一个整体,next在前,nextLine靠后,扫描接受的是同一行上的字符串,只不过接收的是不同内容罢了。
2、分开使用时,nextLine()可以输出字符串中的空格,遇到回车停止;next不能输出空格,遇到空格就停止
3、对于while(sc.hasNext()){}这种需要结束循环方法:
(1)while (!sc.hasNext("0")) 当输入字符0时,回车即结束
(2)设置变量k,if(k==4) break
(3)手动crtl+z