基本的java计算器,不会给出任何输出

时间:2013-07-25 19:59:23

标签: java output calculator

好的,所以我在教自己(以及一些youtube视频的帮助)java。所以在几段视频之后,我想我会尝试通过设置计算器来测试我的技能。现在我之前用lua完成了这个,但这是一个有点不同的球赛。我的问题是,无论我如何设置任何变量或if / else语句,程序总是最终只是跳过else ifs。我在代码的基础上放置了一个最后的其他内容,看看它是否已经达到了底部并且它确定了,所以继承我的代码

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");
    }

}

}

正如您所看到的,由于此特定应用程序中字符串的灵活性,我使用了一个字符串作为opperation(op)变量,我也无法弄清楚如何让扫描程序接受char变量。我一直得到字符串不能转换为char错误所以我只是将其设置为字符串。如果你能帮助谢谢你!也请忽略帖子中的任何akward格式,我无法弄清楚如何使代码正确显示,所以我尽我所能:/

2 个答案:

答案 0 :(得分:5)

使用

.equals()

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

在此处阅读更多内容:How do I compare strings in Java?

答案 1 :(得分:2)

NOT 将字符串与==进行比较。要比较字符串,请使用.equals()方法。,又名:if (op.equals("+"))

简而言之,==比较引用,而.equals()实际上比较了字符串的内容(值)。我会详细介绍,但example已经涵盖了许多主题。