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

Scanner中next()与nextLine()的区别?
import java.util.*;
class NextNextLine{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(true){
System.out.println("input the first number:");
int a=sc.nextInt();
if(a==-1){
System.out.println("over!");
  break;
  }
System.out.println("input the operator:");
String s=sc.next();//String s=sc.nextLine()//为什么这个地方用nextLine()就不行了呢?
System.out.println("input the second number:");
  int b=sc.nextInt();
if(s.equals("+")){
System.out.println(a+"+"+b+"="+(a+b));
}else if(s.equals("-")){
System.out.println(a+"-"+b+"="+(a-b));
}else if(s.equals("*")){
System.out.println(a+"*"+b+"="+(a*b));
}else if(s.equals("/")){
System.out.println(a+"/"+b+"="+(double)(a/b));
}else{
System.out.println("false!");
}

}
}
}


------解决方案--------------------
next() 
查找并返回来自此扫描器的下一个完整标记。

nextLine() 
此扫描器执行当前行,并返回跳过的输入信息。



JDK API 的解释