2014-01-26 39 views
-3

我的Java代碼沒有問題。我使用下面的代碼,但Eclipse始終提示相同的消息「運算符||未定義爲參數類型int(int)」。運營商||未定義爲參數類型int,int

有人有想法嗎?請幫忙。非常感謝;

import javax.swing.*; 
public class Demo { 
    public static void main(String[] args){ 

     int pozitif = 0; 
     int negatif = 0; 
     int cevap; 

     String Soru1 = "Soru1"; 
     String Soru2 = "Soru2"; 
     String Soru3 = "Soru3"; 
     String Soru4 = "Soru4"; 
     String Soru5 = "Soru5"; 
     String Soru6 = "Soru6"; 

     String Soru[] = {Soru1,Soru2,Soru3,Soru4,Soru5,Soru6}; 

     for(int i = 0; i < Soru.length; i++){ 

      cevap = Integer.parseInt(JOptionPane.showInputDialog(i + 1 + ". soru " + Soru[i])); 
      if(cevap == 1){ 
       pozitif++; 
      }if(cevap == 0){ 
       negatif++; 
      }if(cevap != (1 || 0)){ // !!! Problem is here!!! 
       Integer.parseInt(JOptionPane.showInputDialog(i + 1 + ". soru " + Soru[i] + "Lütfen (1) ve (0) giriniz!!!")); 
      } 

     } 

     System.out.println("Pozitif: " + pozitif); 
     System.out.println("Negatif: " + negatif); 

    } 
} 
+2

你認爲'1 || 0'應該是? '||'代表的是什麼操作? – Pshemo

+0

如果用戶回答不會是鍵盤上的「1或0」,那麼同樣的信息會再次以字符串提示(請用(1)或(0)回答); – user3238467

+0

'||'表示「或」,所以爲了工作,'||'*的兩邊都必須是布爾值*。 '1'和'0'都不是布爾值,因此'(1 || 0)'失敗。 – mc10

回答

4

else語句是你所需要的:

if (cevap == 1){ 
    pozitif++; 
} else if (cevap == 0) { 
    negatif++; 
} else { 
    Integer.parseInt(JOptionPane.showInputDialog(i + 1 + ". soru " + Soru[i] + "Lütfen (1) ve (0) giriniz!!!")); 
} 

這你想要做什麼:當cevap不等於10,跑什麼在else塊。如果你不想使用else塊(我不確定你爲什麼不這樣做),你可以使用更詳細的(cevap != 1 && cevap != 0)

+0

我試過他們兩個「(cevap!= 1 && cevap!= 0) - (else)」; (cevap!= 1 && cevap!= 0)有效(非常感謝)。我嘗試使用「其他」,但它提示在所有條件下altarnate massege。謝謝你的建議。 – user3238467

+0

上面的代碼應該可以工作。如果你想使用更詳細的條件,用'else if(cevap!= 1 && cevap!= 0)'替換'else'。 – mc10

0

您想將cevap與兩個不同的數字進行比較。你要做這樣的:

if (cevap != 1 && cevap != 0) 

所以基本上它是「如果cevap不等於1 cevap不等於0」。

+0

他不能只寫'else'。如果他想使用'else',他需要將中間塊轉換爲'else if'。 – nhgrif

+0

沒有看到他沒有這樣做,改變了它 –

相關問題