java - 为什么我可以为我的操作输入任何内容?

标签 java string calculator

所以我正在尝试用 Java 制作一个简单的计算器,但不知道如何为哪个操作获取输入。该程序要求输入两个号码,然后要求接线员。当我运行它时一切正常,直到我进入操作类型。编译器直接跳过它,甚至不让我为它输入任何内容。有什么线索吗?

Scanner keyboard = new Scanner(System.in);

double x;
double y;
double sum =0;
double minus =0;
double times =0;
double divide =0;
double nCr =0;
String Op;

System.out.print("X: ");
x = keyboard.nextDouble();
System.out.print("Y: ");
y = keyboard.nextDouble();
System.out.print("Op: ");
Op = keyboard.nextLine();

最佳答案

尝试:

System.out.print("X: ");
x = Double.parseDouble(keyboard.nextLine());
System.out.print("Y: ");
y = Double.parseDouble(keyboard.nextLine());
System.out.print("Op: ");
op = keyboard.nextLine();

这会将您输入的数字解析为 Double 并读取回车。

如果你想要错误控制(如果用户输入的是字符串而不是数字):

Boolean check = true;

do
{
    try
    {
        //The code to read numbers
    }
    catch(InputMismatchException e)
    {
        System.err.println("Please enter a number!");
        check = false;
    }
}
while(check == false)

关于java - 为什么我可以为我的操作输入任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16781643/

相关文章:

java - 简单的计算器操作

Java - 将非原始数据类型文本文件的字符串解析为整数

java - Windows 10 CLI UTF-8 编码

java - Java 中可序列化的工作

java - 打破字符串以在 jlabel 中使用 html

Swift Escape Character '\' 被添加到字符串中

javascript - lowerCamelCase,忽略字符串的第一个字母

javascript - 我正在尝试用 javascript 创建一个计算器。

javascript - react 计算器 : How to prevent multiple decimals?

java - Windows 上 Java 中的 setuid() 等效项