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

刚学java,问个很简单的问题,谢谢啦
public class g  
{  
   public static void main(String[] args)  
   {  
      Scanner keyboard = new Scanner(System.in);  
      System.out.println("Enter your name: ");  
      String name = keyboard.nextLine();  
  
      System.out.println("Enter your age: ");  
      int age = keyboard.nextInt();  
  
      System.out.println("Enter your nickname: ");  
      String nickName = keyboard.nextLine();  
  
      System.out.println(name);  
      System.out.println(age);  
      System.out.println(nickName);  
   }  
}  


为什么输出后,输入name,age 程序就自动输出了,没有让我输入nickname?
java

------解决方案--------------------
从没用过new Scanner

不过你想程序一直执行 就要写个循环啊。例如

while(keyboard.nextLine()){
 ....
}


------解决方案--------------------
让我这个刚学java的说说吧,当你输入一个数字的时候是否按了回车键?其实回车键已经被当做了字符输入给了nickname了。
------解决方案--------------------
你把13行改成 String nickName= keyboard.next()就行了    运行过 OK!
------解决方案--------------------
next() 和nextline()还是有区别的  具体区别可以去查JDK
------解决方案--------------------
你按了下回车,估计keyboard就把这个当成 nextLine()了。
及时它已经获取了你的nextint();