如果声明不起作用

时间:2013-11-15 21:57:46

标签: java if-statement java.util.scanner println

我是编程新手,非常感谢你的帮助。一点点见解都会受到高度赞赏。 我有以下代码的问题。该程序模拟计算器,但目前我主要关注if和else if语句。 问题在于,无论用户选择什么,程序都会在代码中添加两个数字,即“number1”和“number2”

import java.util.*;
public class Input
{
    private Scanner input;

    public Input()
    { 
        input = new Scanner(System.in);

    }

    public void calculation()
    {
        double number1, number2, answer;
        String A, B, C, D, E;
        String option;
        A = "A"; B = "B"; C = "C"; D = "D"; E = "E"; //initialising the strings 

        System.out.println("add - option A \t (if your option is A, insert 'A')");
        System.out.println("multiply - option B");
        System.out.println("subtract - option C");
        System.out.println("divide - option D");
        System.out.println("power - option E (1st number - 'X' & 2nd number - 'n' following X^n)");
        System.out.println("Remember Java is case sensitive, therefore, inserting 'a' as 'A' won't work");
        System.out.println();
        System.out.println("Insert your first number: ");
        number1 = input.nextDouble();
        System.out.println("Insert your second number: ");
        number2 = input.nextDouble();
        System.out.println("Choosing option: ");
        option = input.next();

        if(A == A)
        {
            answer = number1 + number2;
            System.out.println("Your answer is: " + answer);
        }

        else if(B == B)
        {
            answer = number1 * number2;
            System.out.println("Your answer is: " + answer);

        }else if(C == C)
        {
            answer = number1 - number2;
            System.out.println("Your answer is: " + answer);

        }else if(D == D)
        {
            answer = number1 / number2;
            System.out.println("Your answer is: " + answer);

        }else if(E == E)
        {
            answer = Math.pow(number1, number2);
            System.out.println("Your answer is: " + answer);

        }else
        {
            System.out.println("Choose a suitable option");

        }    
    }
}

1 个答案:

答案 0 :(得分:7)

您从option = input.next();行的用户输入中获取所选选项,而不是在if语句中使用它。

而不是if(A == A)使用if(option.equals(A))等其他案例。