欢迎访问宙启技术站
智能推送

Java中的Scanner如何读取控制台输入?

发布时间:2023-06-25 16:56:44

在Java中,Scanner是一种用于读取输入的实用程序类。Scanner类会扫描给定的输入源,将其解析为文本,并返回它们的原始值。这个输入源可以是文件、字符串、或者是控制台。在这篇文章中,我们会重点讨论如何使用Scanner类读取控制台输入。

Scanner类提供了一些方法来读取控制台输入。以下是一些最常用的方法:

1. next():该方法会读取并返回控制台输入中的下一个字符串,直到遇到空格或者换行符为止。

2. nextLine():该方法会读取控制台输入中的一行,并将其返回为一个字符串。

3. nextInt():该方法会读取控制台输入中的下一个整数,并将其返回为一个整数。

4. nextDouble():该方法会读取控制台输入中的下一个浮点数,并将其返回为一个双精度浮点数。

5. nextBoolean():该方法会读取控制台输入中的下一个布尔值,并将其返回为一个布尔类型。

接下来,我们将使用Scanner类来读取控制台输入并展示其工作原理。我们首先需要在Java程序中引入Scanner类,使用import语句:

import java.util.Scanner;

然后,我们可以在程序中创建Scanner对象:

Scanner scanner = new Scanner(System.in);

scanner对象将接受控制台输入作为其输入源。现在,我们可以使用Scanner的方法来读取控制台输入。例如,下面的代码将读取字符串并将其打印出来:

System.out.print("Enter a string: ");
String input = scanner.next();
System.out.println("You entered: " + input);

在这段代码中,我们首先使用System.out.print()方法来提示用户输入字符串。然后,我们使用scanner对象的next()方法读取控制台输入中的下一个字符串,并将其存储在名为input的字符串变量中。最后,我们再次使用System.out.println()方法将输入的字符串打印出来。

如果我们想读取控制台输入中的整数,我们可以使用scanner对象的nextInt()方法。下面的代码将读取整数并将其打印出来:

System.out.print("Enter an integer: ");
int input = scanner.nextInt();
System.out.println("You entered: " + input);

在这段代码中,我们使用Scanner的nextInt()方法读取控制台输入中的下一个整数,并将其存储在名为input的整数变量中。然后,我们将该整数打印输出。

接下来,我们将展示一个完整的Java程序来读取控制台输入,并进行一些基本的计算。这个程序将提示用户输入两个整数,然后计算它们的和并打印结果:

import java.util.Scanner;

public class ConsoleInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("Enter first integer: ");
        int first = scanner.nextInt();
        
        System.out.print("Enter second integer: ");
        int second = scanner.nextInt();
        
        int sum = first + second;
        System.out.println("Sum of " + first + " and " + second + " is " + sum);
    }
}

在这个程序中,我们首先创建了一个Scanner对象,然后使用它读取控制台输入中的两个整数。我们将这些整数存储在名为first和second的变量中,并计算它们的和。最后,我们使用System.out.println()方法将输出结果打印出来。

需要注意的是,当使用Scanner类读取控制台输入时,程序将等待输入,直到用户敲击回车键结束输入。如果用户输入的内容不符合期望的类型或格式,程序将会抛出异常。因此,在使用Scanner类读取控制台输入时,我们需要确保输入的类型和格式与程序所期望的一致,以避免出现异常。