扫描仪不读取整个句子 \- 扫描仪类的 next() 和 nextLine() 之间的区别

新手上路,请多包涵

我正在编写一个程序,允许用户输入他的数据然后输出它。它的 34 是正确的,但是当它到达输出地址时,它只打印一个词,让我们只说来自“Archbishop Street”的“Archbishop”。我该如何解决?

 import java.util.*;

class MyStudentDetails{
    public static void main (String args[]){
        Scanner s = new Scanner(System.in);
        System.out.println("Enter Your Name: ");
        String name = s.next();
        System.out.println("Enter Your Age: ");
        int age = s.nextInt();
        System.out.println("Enter Your E-mail: ");
        String email = s.next();
        System.out.println("Enter Your Address: ");
        String address = s.next();

        System.out.println("Name: "+name);
        System.out.println("Age: "+age);
        System.out.println("E-mail: "+email);
        System.out.println("Address: "+address);
    }
}

原文由 Bonett09 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 544
1 个回答

这种方法是有效的,但我不知道如何,任何人都可以解释,它是如何工作的..

 String s = sc.next();
s += sc.nextLine();

原文由 Arvind Ramachandran 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题