java - Java中的简单计算器程序

标签 java java.util.scanner calculator calc

我是 Java 的新手编码器,我正在尝试用 Java 制作这个计算器,用户可以输入两个数字并选择要对这些数字执行的操作。然而,当代码选择运算符时,它会跳过用户输入和 if 语句,并直接实现 else 语句。

import java.util.Scanner;


public class Calculator {

    public static void main(String[] args) {
        Scanner Calc = new Scanner(System.in);
        int n1;
        int n2;
        int Answer;

        System.out.println("Enter the first number: ");
        n1 = Calc.nextInt();
        System.out.println("Enter the second number:" );
        n2 = Calc.nextInt();
        System.out.println("Select the order of operation: ");
        char operator = Calc.nextLine().charAt(0);


        if (operator == '+') {
            Answer = (n1 + n2);
            System.out.println("Answer:" + Answer);
            } 
        if (operator == '-') {
            Answer = (n1 - n2);
            System.out.println("Answer:" + Answer);
            } 
        if (operator == '*') {
            Answer = (n1 * n2);
            System.out.println("Answer:" + Answer);
            } 
        if (operator == '/') {
            Answer = (n1/n2);
            System.out.println("Answer:" + Answer);
            } 
        else {
            System.out.println("not implemented yet. Sorry!");
        }


    }

}

最佳答案

n2 = Calc.nextInt(); 之后添加 Calc.nextLine(); 以使用换行符。

您也没有使用 else if,因此即使之前的 if 已经匹配,所有这些 if 条件也会被检查(导致您的最终结果只要运算符不是 '/',else 就会被执行。

在这种情况下,您可能应该只使用 switch block 。

关于java - Java中的简单计算器程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35204297/

相关文章:

java - Android 计算器给出错误答案

java - m2Eclipse 插件 : What does 'Resolve Workspace Artifacts' do?

java - Lucene 索引性能

java - 如何扫描java中不同目录中的文件?

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

python - 我做的python计算器出错了

Java if 条件检查空值和 null 值

java - Hibernate 不会将特定对象保存到数据库

java - 扫描仪无法循环工作

java - 字符串方程错误检查器不工作