Java 如果一个是一对,另一个不是,我该如何做一个if语句呢?这是不幸运的,但如果两者都是一对,这是幸运的?

Java 如果一个是一对,另一个不是,我该如何做一个if语句呢?这是不幸运的,但如果两者都是一对,这是幸运的?,java,if-statement,Java,If Statement,我有我的if-else-if-else语句 编辑(新代码): for(int计数器=1;计数器=3){ System.out.println(“你不走运。”); } 否则如果(成对>=2) System.out.println(“你很幸运。”); 否则{ System.out.println(“你很幸运。”); } } } 在编码语句之后,它会说如果它有两对对对(例如,一对和一对)或一对和三对,那么结果将是幸运的,但是如果它只有一对,没有或没有对,它会说你不幸运 例如: 4.5.3 你什么也

我有我的if-else-if-else语句 编辑(新代码):

for(int计数器=1;计数器=3){
System.out.println(“你不走运。”);
}
否则如果(成对>=2)
System.out.println(“你很幸运。”);
否则{
System.out.println(“你很幸运。”);
}
} 
}
在编码语句之后,它会说如果它有两对对对(例如,一对和一对)或一对和三对,那么结果将是幸运的,但是如果它只有一对,没有或没有对,它会说你不幸运

例如:

4.5.3
你什么也没做。
2 1 3
你什么也没做。
你不走运

4.5.3
你什么也没做。
2
你一共滚了3个球。
你不走运

4 3
你滚了一双。
2
你一共滚了3个球。
你真幸运

4 3
你滚了一双。
2 1 2
你滚了一双。
你真幸运


编辑:现在它给我的是你不走运。对于所有的事情,即使是双对辊或双对和三对辊,代码也是一团糟。不要将向控制台打印消息与确定结果混为一谈。使用名为
isLucky()
的方法创建一个
output
类,该方法返回true或false

那代码乱七八糟。不要将向控制台打印消息与确定结果混为一谈。使用名为
isLucky()
的方法创建一个
output
类,该方法返回true或false

全速行驶,你可以做到的

import static java.util.stream.IntStream.*;

public static int roll() {
    return rand.nextInt(MAX_DICE) + 1;
}

int tests = 2;
int dice = 3;
int pairs = range(0, tests)
       .filter($-> range(0, dice).map(_-> roll()).distinct().count() < dice)
       .count();    
在Java7或更早版本中执行类似操作

int count = new HashSet<>(Arrays.asList(A, B, C)).size();
int count=newhashset(Arrays.asList(A,B,C)).size();
如果你想数一数,你可以这样做

int pairs = (tests > 100 ? range(0, tests).parallel() : range(0, tests))
       .filter($-> range(0, dice).map(_-> roll()).distinct().count() < dice)
       .count();    
int pairs = 0;
for (int counter = 1; counter<= 2; counter++) {
    // on a six sides dice you want 1 to 6 not 0 to 6
    int a = rand.nextInt(MAX_DICE) + 1;
    int b = rand.nextInt(MAX_DICE) + 1;
    int c = rand.nextInt(MAX_DICE) + 1;

    // triples count as pairs.
    if (IntStream.of(A, B, C).distinct().count() < 3)
       pairs++;
}
int对=0;

对于(int counter=1;counter满Lambda/流,您可以执行

import static java.util.stream.IntStream.*;

public static int roll() {
    return rand.nextInt(MAX_DICE) + 1;
}

int tests = 2;
int dice = 3;
int pairs = range(0, tests)
       .filter($-> range(0, dice).map(_-> roll()).distinct().count() < dice)
       .count();    
在Java7或更早版本中执行类似操作

int count = new HashSet<>(Arrays.asList(A, B, C)).size();
int count=newhashset(Arrays.asList(A,B,C)).size();
如果你想数一数,你可以这样做

int pairs = (tests > 100 ? range(0, tests).parallel() : range(0, tests))
       .filter($-> range(0, dice).map(_-> roll()).distinct().count() < dice)
       .count();    
int pairs = 0;
for (int counter = 1; counter<= 2; counter++) {
    // on a six sides dice you want 1 to 6 not 0 to 6
    int a = rand.nextInt(MAX_DICE) + 1;
    int b = rand.nextInt(MAX_DICE) + 1;
    int c = rand.nextInt(MAX_DICE) + 1;

    // triples count as pairs.
    if (IntStream.of(A, B, C).distinct().count() < 3)
       pairs++;
}
int对=0;

对于(int counter=1;counter根据您的要求,将三个整数A、B、C放入A
集合
,然后检查集合的大小,如果大小为

1 -> 3 times same
2 -> pair
3 -> nothing

根据您的要求,将三个整数A、B、C放入A
集合
,然后检查集合的大小(如果大小为

1 -> 3 times same
2 -> pair
3 -> nothing
int对=0;
用于(int计数器=1;计数器<3;计数器++){
A=随机数下一个(最大值+1);
B=随机数下一个(最大值+1);
C=随机数下一次(最大值+1);
系统输出打印项次(A+“”+B+“”+C);
如果(A==B&&A==C){
System.out.println(“你推出了3个同类产品”);
pairs+=2;//一对三对的价值相当于一对的两倍
}
else如果(A==B | | A==C | | B==C){
System.out.println(“你滚了一双”);
pairs+=1;//一对
}
否则{
System.out.println(“你什么也没滚。”);
//不要在这里添加pairs+=因为我们没有pairs
}
}
//您可以更改该值:
//4=只有2个幸运儿,其中3个幸运儿
//3=幸运的是,至少有一个三类和至少一对
//2=幸运的是有一对或两对三个
//1=幸运至少有一对(或以上所有)
//0=超快感模式
如果(对>=2){
System.out.println(“你在哪里幸运”);
}否则{
System.out.println(“你不走运”);
}
注:

  • 在这种情况下,您将滚动2次,我个人更喜欢“counter=1;counter
    int pairs=0;
    用于(int计数器=1;计数器<3;计数器++){
    A=随机数下一个(最大值+1);
    B=随机数下一个(最大值+1);
    C=随机数下一次(最大值+1);
    系统输出打印项次(A+“”+B+“”+C);
    如果(A==B&&A==C){
    System.out.println(“你推出了3个同类产品”);
    pairs+=2;//一对三对的价值相当于一对的两倍
    }
    else如果(A==B | | A==C | | B==C){
    System.out.println(“你滚了一双”);
    pairs+=1;//一对
    }
    否则{
    System.out.println(“你什么也没滚。”);
    //不要在这里添加pairs+=因为我们没有pairs
    }
    }
    //您可以更改该值:
    //4=只有2个幸运儿,其中3个幸运儿
    //3=幸运的是,至少有一个三类和至少一对
    //2=幸运的是有一对或两对三个
    //1=幸运至少有一对(或以上所有)
    //0=超快感模式
    如果(对>=2){
    System.out.println(“你在哪里幸运”);
    }否则{
    System.out.println(“你不走运”);
    }
    
    注:


    • 在这种情况下,你将滚动2次,我个人更喜欢“计数器=1;计数器如果你想用文字检查a和B是否不同,你可以用
      a!=B
      ,这样你就可以用
      a!=B&&B!=C
      来输出你不幸运。

      如果你想用文字检查a和B是否不同,你可以用
      a!=B
      ,这样你就可以用
      a!=B&&B!=C
      来检查你的运气表示你不幸运。

      if(A==B&A==C)
      应该是
      if(A==B&A==C)
      那么你是说你需要计算用户得到的特殊结果的数量?你能创建一个这样做的变量,然后在最后检查吗?你的问题不清楚。如果你滚动3个这样的结果,你幸运与否?@FlorentBayle如果是java,那么它将像位运算符一样对布尔值执行逻辑“and”和“and”或“or”预期。问题是它会滚动两次,它是否可以是一对、一对、一对、一个三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、一对三元组、二元组、三元组都可以是无
那么你是说你需要计算用户得到的特殊结果的数量?你能创建一个变量来实现这一点,然后在最后检查它吗