Java 当四个数字中有三个是相同的

Java 当四个数字中有三个是相同的,java,if-statement,Java,If Statement,我使用随机生成器生成四个数字,然后我必须确定其中三个是否相同 以下代码有什么问题 if((r1= r2 =r3)|| (r1 = r2 = r4)|| (r1 = r3 =r4)|| (r2 = r3 =r4)) { System.out.println("Three of a kind."); } 错误表示无法从int转换为boolean。另外,我认为应该是=,但是=会产生错误,而=不会。您需要使用相等运算符=,而不是赋值运算符= 当您比较整数时,您可以这样做: if(int1 ==

我使用随机生成器生成四个数字,然后我必须确定其中三个是否相同

以下代码有什么问题

if((r1= r2 =r3)|| (r1 = r2 = r4)|| (r1 = r3 =r4)|| (r2 = r3 =r4)) {
    System.out.println("Three of a kind.");
}

错误表示无法从
int
转换为
boolean
。另外,我认为应该是
=
,但是
=
会产生错误,而
=
不会。您需要使用相等运算符
=
,而不是赋值运算符
=

当您比较整数时,您可以这样做:

if(int1 == int2) {
    // they are equal
}
if(int1 == int2 && int2 == int3) {
    // all three integers are equal
}
如果要测试3个整数是否相等,可以这样做:

if(int1 == int2) {
    // they are equal
}
if(int1 == int2 && int2 == int3) {
    // all three integers are equal
}

请注意,我们使用了逻辑AND运算符
&
组合两个布尔表达式,以便
if
语句的计算结果
true

r1=r2=r3
使
r1
r2
等于
r3
。比较的运行方式应该更像
r1==r2&&r1==r3
。。因为这将意味着“代码> R2==R3扩展NoPE的可能的副本,而不是重复的(以前的注释):考虑使用一个数组来保存这些值,而不是4个不同的变量……因为这使得您的解决方案很难增强。“但是==产生错误,而=不”--您刚才不是说您得到了一个错误“无法使用
=
int
转换为
boolean
?”??