📅  最后修改于: 2023-12-03 14:42:18.828000             🧑  作者: Mango
在Java中,Scanner类是用于从控制台或文件中读取用户输入的常见工具。 Scanner类提供了许多便捷方法来检索不同数据类型的输入,包括浮点数。 在本文中,我们将介绍如何使用Scanner类从控制台输入浮点数。
要从控制台输入浮点数,请使用Scanner类的nextDouble()方法。 以下是输入浮点数的示例代码:
import java.util.Scanner;
public class InputExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a floating point number: ");
double num = scanner.nextDouble();
System.out.println("You entered: " + num);
}
}
在此示例中,我们首先创建Scanner对象,然后提示用户输入浮点数。接下来,我们使用nextDouble()方法读取用户输入的浮点数,并将其存储在变量num中。最后,我们打印出用户输入的浮点数。
运行此程序将显示以下输出:
Enter a floating point number:
3.14159
You entered: 3.14159
需要注意的是,如果用户输入的内容不是有效的浮点数,nextDouble()方法将抛出InputMismatchException异常。要避免程序崩溃,我们可以使用try-catch块捕获异常并提示用户重新输入。以下是一个处理异常的示例代码:
import java.util.InputMismatchException;
import java.util.Scanner;
public class ExceptionExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double num = 0;
while (true) {
try {
System.out.println("Enter a floating point number: ");
num = scanner.nextDouble();
break;
} catch (InputMismatchException e) {
System.out.println("Invalid input. Please enter a floating point number.");
scanner.next();
}
}
System.out.println("You entered: " + num);
}
}
在此示例中,我们使用while循环来持续提示用户输入,直到他们输入有效的浮点数。如果用户输入的不是有效的浮点数,将抛出InputMismatchException异常,并提示用户重新输入。要清除输入缓冲区,我们调用scanner.next()方法。
运行此程序将显示以下输出:
Enter a floating point number:
abc
Invalid input. Please enter a floating point number.
4.5
You entered: 4.5
在Java中,Scanner类是一个强大而灵活的工具,可用于读取用户输入。要从控制台输入浮点数,请使用Scanner类的nextDouble()方法。要处理异常,请使用try-catch块。回到这个主题并总结概括如下:
希望这篇文章对你有所帮助!