代码如下:
public class ScanTest{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
//sc.useDelimiter("\n");
while(sc.hasNext()){
System.out.println("键盘输入的内容为:"+sc.next());
}
}
}
命令行进行编译
D:\test1>javac ScanTest.java
ScanTest.java:6: 错误: 编码 GBK 的不可映射字符 (0x9A)
System.out.println("閿洏杈撳叆鐨勫唴瀹逛负锛?"+sc.next());
^
1 个错误
第一个知识点
D:\test1>javac -encoding UTF-8 ScanTest.java
需要加上-encoding UTF-8
但是会报找不到类Scanner错误
第二个知识点
故代码中导入该类
import java.util.Scanner;
public class ScanTest{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
//sc.useDelimiter("\n");
while(sc.hasNext()){
System.out.println("键盘输入的内容为:"+sc.next());
}
}
}
结果运行正常
D:\test1>java ScanTest
555
键盘输入的内容为:555
666
键盘输入的内容为:666
5555 6666
键盘输入的内容为:5555
键盘输入的内容为:6666
此时空格看成了分隔符,即认为是多个输入
如果把//sc.useDelimiter("\n");注释取消
则效果如下
D:\test1>java ScanTest
5555 6666
键盘输入的内容为:5555 6666
此时空格也看成是字符