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

Java中如何使用Scanner函数输入和输出用户输入?

发布时间:2023-05-30 09:09:37

Scanner是Java语言中的一个非常常用的输入类。它允许你从键盘输入读取,或从文件中读取数据。同时,它也可以输出数据,在控制台中呈现。这里我们重点介绍Scanner的输入输出函数,包括如何输入不同类型的数据、如何处理输入数据的异常等。

1.定义Scanner对象

在开始之前,先声明一个Scanner对象。我们使用的是java.util.Scanner类。以下是定义Scanner对象的语法:

Scanner scanner = new Scanner(System.in);

其中,scanner是我们定义的名称,System.in表示从标准输入获取数据,这就是我们从键盘输入的内容。

2.输入不同类型的数据

2.1 输入整数

当我们需要读入整数时,我们可以使用Scanner类的nextInt()方法来实现。代码示例如下:

Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.println("你输入的整数是:" + num);

2.2 输入浮点数

要读取浮点数,我们可以使用Scanner类的nextDouble()方法。代码示例如下:

Scanner scanner = new Scanner(System.in);
double num = scanner.nextDouble();
System.out.println("你输入的浮点数是:" + num);

2.3 输入字符串

若需要从键盘输入一个字符串,我们可以使用Scanner类的next()方法。这个方法会读取直到找到 个空格为止,也就是读取一个单词。代码示例如下:

Scanner scanner = new Scanner(System.in);
String str = scanner.next();
System.out.println("你输入的字符串是:" + str);

如果我们要读取一个字符串,那么可以使用Scanner类的nextLine()方法。这个方法会一直读取,直到遇到回车符为止。代码示例如下:

Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
System.out.println("你输入的字符串是:" + str);

当此方法读到回车符时,就会自动换行并计入输入流,也就是说,如果您随后调用nextInt()方法,它将从新行中读取,而不是从回车符。

2.4 输入布尔类型

如果需要输入布尔型变量,我们可以使用nextBoolean()方法。代码示例如下:

Scanner scanner = new Scanner(System.in);
boolean flag = scanner.nextBoolean();
System.out.println("你输入的布尔值是:" + flag);

输入时,只能输入 true 或者 false。

3.异常处理

当用Scanner输入整数、浮点数、布尔值和字符串时,可能会收到一些不符合期望的输入,这就会引发一个输入异常,例如,将字符串输入到nextInt()方法中,或输入超出浮点数范围的数字。

为了解决这些异常,Java提供了一种结构来处理异常,即try和catch结构。这个结构是这样工作的:首先,我们需要将可能引发异常的代码写在try{}块中。在try块的结尾,我们可以加上一个catch{}块。

以下是一个示例程序,它演示如何使用try和catch来处理异常:

Scanner scanner = new Scanner(System.in);
try {
    int num = scanner.nextInt();
    System.out.println("你输入的整数是:" + num);
} catch (Exception e) {
    System.out.println("输入的不是整数!");
}

在这个程序中,我们在try块中使用了nextInt()方法读取用户输入的整数。此外,我们还定义了一个catch块来处理可能会发生的异常。在这个catch块中,我们将捕获异常,并输出一个提示信息。

4.总结

这篇文章介绍了如何在Java中使用Scanner函数来输入和输出用户输入。我们解释了Scanner类的一些常用方法,包括nextInt()、nextDouble()、next()和nextLine(),以及处理异常的方法。

Scanner类是一个非常有用的工具,可以让你轻松地处理用户输入。我们鼓励您使用它来帮助您开发更好的Java应用程序。