nextLine()函数:如何读取用户输入?
在Java中,即使使用基本的System.out.println()指令输出一段提示信息,程序也不知道它应该从哪里接收输入。这就需要使用Scanner类中的nextLine()方法来读取用户输入。它是一个字符串读取器,可以读取来自用户控制台的字符序列,直到读取到行结束符号为止。
下面是一些示例用法:
Scanner scanner = new Scanner(System.in);
System.out.print("Please enter your name: ");
String name = scanner.nextLine();
System.out.print("Please enter your age: ");
int age = scanner.nextInt();
在这个例子中,我们创建了一个Scanner对象,并将它绑定到System.in(即,从用户的控制台读取输入)。然后,我们输出一行提示消息,使用nextLine()方法等待用户输入他们的姓名,并将结果存储在name变量中。接下来,我们输出另一条消息并使用nextInt()方法等待用户输入他们的年龄。
需要注意的是,如果我们直接使用next()方法,它只会读取到空格或制表符为止。但是如果我们使用nextLine()方法,则可以读取到整个行,包括回车符和换行符。
由于nextLine()方法它会等待行终止符来终止输入,并将行终止符作为字符串的一部分包含在内。这就意味着,如果我们输入了一个空行,nextLine()方法会返回一个空字符串,而不是null。
同时,需要注意的是,nextInt()方法等待用户输入一个整数,如果用户输入的是一个非整数,例如“hello”,那么程序会崩溃,并且会出现一个InputMismatchException的异常。如果我们想要确保用户输入正确,我们需要在适当的地方实现一个异常处理程序。
除了nextInt()之外,Scanner类还提供了多种从控制台获取不同类型的输入的方法,例如nextDouble(), nextBoolean(), nextByte(), nextShort()等。
总的来说,nextLine()方法是在Java中读取用户输入的一种简单但强大的方式。它可以让我们从控制台获取用户输入,并且可以轻松地在程序中使用该输入。然而,需要注意的是,我们需要确保输入的格式正确,并使用异常处理程序来防止程序出现异常。
