如何在扫描仪中保存下一个字符串?

时间:2015-01-27 13:21:24

标签: java calculator

我做了一个有3个功能的基本计算器。我使用扫描仪实用程序来帮助我与计算器进行交互。输入第一个数字,然后将其保存到变量,输入第二个数字,并保存到变量中。之后,它会询问您要对数字做什么。您可以选择Multiply,Add,Subtract。但它们似乎都没有工作,我不知道为什么,但我猜测在问题之后插入的字符串没有保存或者使用错误的方法。

import java.util.Scanner;

public class MainClass {




private static final String Multiply = null;
    private static final String Add = null;
    private static final String Subtract = null;

    public static void main(String[] args)
    {
        MainClass mainObject=new MainClass();
        mainObject.Calculator();




    }

    public void Calculator()
    {
        double firstnumber;
        double secondnumber;
        double result;
        String word1="Multiply";
        String word2="Add";
        String word3="Subtract";

        Scanner scan=new Scanner(System.in);
        System.out.println("Enter first number");
        firstnumber=scan.nextInt();
        System.out.println("Enter second number");
        secondnumber=scan.nextInt();
        System.out.println("What do you want to do?");
        String operator=scan.next();

        if(operator==word1)
        {
            result=firstnumber*secondnumber;
            System.out.println(result);


        }
        else if(operator==word2)
        {
            result=firstnumber+secondnumber;
            System.out.println(result);
        }
        else if(operator==word3)
        {
            result=firstnumber-secondnumber;
            System.out.println(result);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

字符串之间的比较操作不是==,而是equals()方法:

if(operator.equals("add"))
    ...
else if (operator.equals("subtract"))
    ...
else if (operator.equals("multiply"))
    ...
else
    wrong input