Java 未为参数类型int,int定义运算符| |
我的Java代码没有什么问题。我正在使用下面的代码,但是Eclipse总是提示相同的消息“运算符| |对于参数类型int,int是未定义的” 有人对此有想法吗?请帮忙。多谢各位,Java 未为参数类型int,int定义运算符| |,java,int,undefined,operator-keyword,Java,Int,Undefined,Operator Keyword,我的Java代码没有什么问题。我正在使用下面的代码,但是Eclipse总是提示相同的消息“运算符| |对于参数类型int,int是未定义的” 有人对此有想法吗?请帮忙。多谢各位, import javax.swing.*; public class Demo { public static void main(String[] args){ int pozitif = 0; int negatif = 0; int cevap;
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);
}
}
import javax.swing.*;
公开课演示{
公共静态void main(字符串[]args){
int-pozitif=0;
int=0;
int cevap;
字符串Soru1=“Soru1”;
字符串Soru2=“Soru2”;
字符串Soru3=“Soru3”;
字符串Soru4=“Soru4”;
字符串Soru5=“Soru5”;
字符串Soru6=“Soru6”;
字符串Soru[]={Soru1,Soru2,Soru3,Soru4,Soru5,Soru6};
for(int i=0;i
您需要的是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
不等于1
或0
时,运行else
块中的内容。如果您不想使用else
块(我不知道您为什么不想使用),可以使用更详细的(cevap!=1和&cevap!=0)
将cevap
与两个不同的数字进行比较。你必须这样做:
if (cevap != 1 && cevap != 0)
所以基本上是“如果cevap不等于1,cevap不等于0”你认为
1 | 0
的结果应该是什么?|
在这里表示什么操作?如果用户的答案不是键盘上的“1或0”,则该消息将再次提示字符串(请用(1)或(0)回答)||
表示“或”,所以要使其起作用,|
的两边都必须是布尔值。1
和0
都不是布尔值,因此(1 | | 0)
失败。@用户3238467然后您可以按照mc10在其答案中建议的方式创建您的条件。您还可以使用类似于的东西if(!Arrays.asList(1,0).contains(cevap))
。他不能只写其他内容。如果他想使用else
,他需要将中间的块变成else if
。没有看到他没有这样做,更改了它。我尝试了两种方法(cevap!=1&&cevap!=0)-(else);(cevap!=1&&cevap!=0)有效(非常感谢)。我尝试使用“else”,但它在所有情况下都会提示Alternate massege。谢谢您的“&&”建议。上面的代码应该可以工作。如果要使用更详细的条件,请将else
替换为else If(cevap!=1&&cevap!=0)
。