Scanner类中分隔符的使用
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
canner.useDelimiter("\n");
System.out.println("请输入数据:");
String str=scanner.next();
System.out.println(str);
}
}
上面的程序在命令行输入"hello world"时,命令行会原样输出。
因为这儿使用换行分隔符\n,所以单词间的空格也输出了。当我
换成useDelimiter("\t");试图在命令行输入一段字符后打一个空
格而不是换行后命令行就会有输出。结果JVM没有停止,一直处于
阻塞状态,命令行没有输出。怎样使命令行遇到空格就输出??
------解决方案--------------------
空格 scanner.useDelimiter(" ");
useDelimiter("\t"); 按一个Tab后按enter就会结束
Java code
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
scanner.useDelimiter("\t");
System.out.println("请输入数据:");
String str=scanner.next();
System.out.println(str);
System.out.println(scanner.delimiter()+":ok");
}
}