用java构建计算器(带开关)

Sup*_*awg 2 java

我正在使用一个开关来计算两个数字,但是当我尝试做任何类型的运算符时我只是继续得到0.

//imports
import java.util.Scanner;
public class Calculator {
      public static void main (String[] args) {
//get first number
        Scanner scan = new Scanner(System.in);
        System.out.println("Please enter the first number: > ");
        int num1 = scan.nextInt();
// get second number
        System.out.println("Please enter the second number: > ");
        int num2 = scan.nextInt();
// what the user wants to do
        System.out.println("Please enter the method you would like to use "
                + "(+ , - , * , / , ^ ) > " );
        String method = scan.next();
        char operation = method.charAt(0);
        String output = "";
//switch for first number
        switch(num1) {
                case 0: output+= "zero";
                        break;
                case 1: output+= " one";
                        break;
                case 2: output+= " two";
                        break;
                case 3: output+= " three";
                        break;
                case 4: output+= " four";
                        break;
                case 5: output+= " five";
                        break;
                case 6: output+= " six";
                        break;
                case 7: output+= " seven";
                        break;
                case 8: output+= " eight";
                        break;
                case 9: output+= " nine";
                        break;
                case 10: output+= " ten";
                        break;
}
// operation the user wants to use
      switch (operation){
          case '+' : output += " plus";
                     break;
          case '-' : output += " minus";
                     break;
          case '*' : output += " times";
                     break;
          case '/' : output += " divided by";
                     break;
          case '^' : output += " to the power of";
                     break;
}
//switch for second number
       switch (num2) {
               case 0: output += " zero";
                       break;
               case 1: output += " one";
                       break;
               case 2: output += " two";
                       break;
               case 3: output += " three";
                       break;
               case 4: output += " four";
                       break;
               case 5: output += " five";
                       break;
               case 6: output += " six";
                       break;
               case 7: output += " seven";
                       break;
               case 8: output += " eight";
                       break;
               case 9: output += " nine";
                       break;
               case 10: output += " ten";
                       break;
// calculate the answer
        }
          int answer = 0 ;
       switch (answer) {
           case '+' : answer = (answer + (num1 + num2));
               break;
           case '-' : answer = (answer + (num1 - num2));
               break;
           case '*' : answer = (answer + (num1 * num2));
               break;
           case '/' : answer = (answer + (num1 / num2));
               break;
           case '^' : answer = (answer + (int) (Math.pow(num1,num2) ));
               break;
       }
       System.out.println(output + " equals " + answer );
    }
}
Run Code Online (Sandbox Code Playgroud)

我很确定我的问题是在程序的底部与实际功能

 int answer = 0 ;
       switch (answer) {
Run Code Online (Sandbox Code Playgroud)

从该地区的某个地方开始,只是很难搞清楚.也许其他人可以对我做错了什么进行输入

在此先感谢您的帮助

Jig*_*shi 6

   int answer = 0 ;
   switch (answer) {
Run Code Online (Sandbox Code Playgroud)

没有任何意义,你打开0(硬编码),你没有相关的案例,

打开operation而不是