2016-11-13 62 views
0

我想爲我的學校項目創建一個計算器,但由於某種原因,當我嘗試編譯時,它說我有一個問題,我不知道如何解決它。我正在錯誤「多標記在該行 - 局部變量inputA可能沒有 初始化 - 局部變量inputB可能沒有 初始化」在這一部分:基本計算器幫助Java

 atimesb = (inputA * inputB); 
    adividedbyb = (inputA/inputB); 
    aplusb = (inputA + inputB); 
    aminusb = (inputA - inputB); 

是錯誤的。

import java.util.Scanner; 
public class Calculator { 

    public static void main(String[] args) { 

     int inputA; 
     int inputB; 
     int atimesb; 
     int adividedbyb; 
     int aplusb; 
     int aminusb; 
     atimesb = (inputA * inputB); 
     adividedbyb = (inputA/inputB); 
     aplusb = (inputA + inputB); 
     aminusb = (inputA - inputB); 

     String operation; 

     Scanner in = new Scanner(System.in); 

     System.out.println("Enter the first number"); 
     inputA = in.nextInt(); 

     System.out.println("Enter the operation"); 
     operation = in.next(); 

     System.out.println("Enter the second number"); 
     inputB = in.nextInt(); 



     if (operation.equals ("+")) 
     { 
      System.out.println(inputA + " + " + inputB + "=" + aplusb); 
     } 
     if (operation.equals ("-")) 
     { 
      System.out.println(inputA + " - " + inputB + "=" + aminusb); 
     } 
     if (operation.equals ("/")) 
     { 
      System.out.println(inputA + "/" + inputB + "=" + adividedbyb); 
     } 
     if (operation.equals ("*")) 
     { 
      System.out.println(inputA + " * " + inputB + "=" + atimesb); 
     } 
     if (operation.equals ("add")) 
     { 
      System.out.println(inputA + " * " + inputB + "=" + aplusb); 
     } 
     if (operation.equals ("subtract")) 
     { 
      System.out.println(inputA + " - " + inputB + "=" + aminusb); 
     } 
     if (operation.equals ("divide")) 
     { 
      System.out.println(inputA + "/" + inputB + "=" + adividedbyb); 
     } 
     if (operation.equals ("multiply")) 
     { 
      System.out.println(inputA + " * " + inputB + "=" + atimesb); 
     } 


} 
} 

我真的很感激,如果有人可以幫助我這個。

+0

請包括你得到的完整的錯誤,因爲它會幫助別人來幫助你。請參閱[我如何提出一個好問題?](http://stackoverflow.com/help/how-to-ask) – CmdrSharp

+0

請在您遇到的錯誤上添加更多詳細信息。在這裏複製並粘貼錯誤跟蹤。 – maheeka

+0

當你劃分數字時要小心,記住分割兩個整數(不同於它們的乘法,加法或減法),你最終會得到非整數(可能),所以應該將結果存儲爲一個浮點數。 –

回答

2

在使用它們之前,您需要閱讀值。 這樣的:

 System.out.println("Enter the first number"); 
    inputA = in.nextInt(); 

    System.out.println("Enter the operation"); 
    operation = in.next(); 

    System.out.println("Enter the second number"); 
    inputB = in.nextInt(); 

    atimesb = (inputA * inputB); 
    adividedbyb = (inputA/inputB); 
    aplusb = (inputA + inputB); 
    aminusb = (inputA - inputB); 
+0

謝謝Bijay !!!它現在有效 – Blake

+1

歡迎。我希望你現在明白爲什麼它不起作用。 –