日期:2014-05-20  浏览次数:20741 次

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"); 
  }
}