2015-08-18 74 views
0

這個問題不是重複的,因爲沒有任何來自線程的修復,這是一個「重複」的工作對我來說。IntelliJ IDEA Switch Statement Error

我正在製作一個基本的計算器程序作爲我的第一個Java程序。要做到這一點,我使用switch語句來選擇公式操作,但是當我嘗試運行switch語句,我得到一個錯誤:

java: strings in switch are not supported in -source 1.6 (use -source 7 or higher to enable strings in switch).

我已經檢查了其他的答案,但他們都不是有道理的在我的情況。我正在使用Java 8 JDK,我的項目級別是8,應該足夠高以運行此代碼。

我的代碼:

boolean pass = false; 
    char sOP = 'n'; 

    while(pass == false) { 

     System.out.print("Operator, +, -, *, or /: "); 
     String op = scanner.nextLine(); 

     switch (op) { 
      case "+": 
       sOP = '+'; 
       pass = true; 
       break; 
      case "-": 
       sOP = '-'; 
       pass = true; 
       break; 
      case "*": 
       sOP = '*'; 
       pass = true; 
       break; 
      case "/": 
       sOP = '/'; 
       pass = true; 
       break; 
      default: 
       System.out.println("Invalid operator, please reenter."); 
       pass = false; 

     } 
    } 

我應該怎麼做才能解決這個問題?

+0

這不是Intellij相關的。它可能是任何體面的IDE,你會得到和等效的錯誤消息。 – ChiefTwoPencils

+0

如果您確定自己的一切都正確,那麼重建或重新啓動會有所幫助。這個錯誤似乎表明,雖然你正在使用的地方7. – ChiefTwoPencils

+0

Bneac,包括第二個問題,與錯誤和標題指出的主要問題無關,可能不是一個好主意,因爲人們很可能會錯過它,而答案只會針對你問題的第一部分。由於這些原因,最好問第二部分(關於表達式的動態評估)作爲一個單獨的問題。 – jpw

回答

0

看起來像switch語句,String直到Java 1.7才被支持。您應該升級您的Java版本。

轉到Project StructureSDKs並選擇正確的Java SDK版本。

+0

雖然我正在使用Java 8,那是我用IntelliJ IDEA設置的JDK。 – Bneac

+0

@Bneac仔細檢查1.8 SDK是否在項目中被選中。 'Project Structure' - >'SDKs' – Rohan

+0

我正在使用Java版本1.8.0_51。 – Bneac