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

Scanner问题
[code=Java][/code] Scanner sc = new Scanner(System.in);
System.out.println("输入姓名!");
name = sc.nextLine();

怎么样判断如果不输入任何东西,直接敲入回车,此种情况重复打印提示信息。求指导。
如下是我写的一个判断
try {
  if (System.in.read() == 13) { // 13 代表回车符吧 
  System.out.println("bb"); // 现象:提示bb后,就禁止再输入了
  }else{
  String name = sc.nextLine();
  System.out.println(name);  
  }
  }
  catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  }

------解决方案--------------------
用一个if 循环 和 一个continue 语句 就能实现了!
------解决方案--------------------
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
String name = "";
while(true){
System.out.println("输入姓名!");
name = sc.nextLine();
if(!name.equals("")){
break;
}
}
System.out.println(name);

}