-1

好的,所以我正在自学(在一些 youtube 视频的帮助下)java。所以在看了几个视频之后,我想我会尝试通过设置一个计算器来测试我的技能。现在我以前用 lua 做过这个,但它在这里有点不同。我的问题是,无论我如何设置任何变量或 if/else 语句,程序总是最终只是跳过 else ifs。我在代码的基础上放了一个最终的 else ,看看它是否甚至达到了底部并且它确实是,所以这是我的代码

import java.util.Scanner;


public class calculator {
public static void main(String[] args){
    double Answer;
    String op;
    double num1;
    double num2;

    Scanner input = new Scanner(System.in);

    System.out.print("What opperation would you like to preform? +,-,*,/, :");
    op = input.nextLine();


    System.out.print("What is the first number? : ");
    num1 = input.nextDouble();

    System.out.print("And the seccond number? : ");
    num2 = input.nextDouble();


    if(op == "+"){
        Answer = (num1 + num2);
        System.out.print(Answer);

    }else if(op == "-"){
        Answer = num1 - num2;
        System.out.print(Answer);

    }else if(op == "*"){
        Answer = num1 * num2;
        System.out.print(Answer);

    }else if(op == "/"){
        Answer = num1 / num2;
        System.out.print(Answer);

    }else{
        System.out.print("ilikecake");
    }

}

}

如您所见,由于此特定应用程序中字符串的灵活性,我将字符串用于操作(op)变量,此外,我不知道如何让扫描仪接受 char 变量。我不断收到字符串无法转换为字符的错误,所以我只是将其设置为字符串。如果你能帮忙谢谢!也请忽略帖子中的任何错误格式,我不知道如何使代码正确显示,所以我尽力了:/

4

2 回答 2

5

使用

.equals()

比较字符串的方法。运算符测试相等的==引用,您想检查相等的值。

在此处阅读更多内容:如何比较 Java 中的字符串?

于 2013-07-25T20:01:32.210 回答
2

不要字符串与==. 要比较字符串,请使用.equals()方法。,也就是:if (op.equals("+"))

简而言之,==比较引用,而.equals()实际上比较字符串的内容(值)。我会更详细地介绍,但它已在许多线程中进行了介绍,例如.

于 2013-07-25T20:01:27.213 回答