Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java检查多个ifs_Java - Fatal编程技术网

Java检查多个ifs

Java检查多个ifs,java,Java,我正在创建一个轮盘赌游戏,其中一组数字等于红色,另一组等于黑色。 游戏将输出一个随机数1-36,数字对应红色或黑色。我将如何执行下面的代码 if (rouletteSpin == (2|4|6|8|10|11|13|15|17|20|22|24|26|28|29|31|33|35)) 这样它就可以检查多个场景您可以将所有值放入一个列表中,如 List<Integer> color = Arrays.asList(2, 4, 6); // And so on 您可以将所有值放入一个

我正在创建一个轮盘赌游戏,其中一组数字等于红色,另一组等于黑色。 游戏将输出一个随机数1-36,数字对应红色或黑色。我将如何执行下面的代码

if (rouletteSpin == (2|4|6|8|10|11|13|15|17|20|22|24|26|28|29|31|33|35))

这样它就可以检查多个场景

您可以将所有值放入一个列表中,如

List<Integer> color = Arrays.asList(2, 4, 6); // And so on

您可以将所有值放入一个列表中,如

List<Integer> color = Arrays.asList(2, 4, 6); // And so on

我建议使用数组、集合或其他集合来组合所有项目,例如

  private static int[] reds = new int[] {2, 4, 6, 8, 10, ...};
然后检查

  if (Arrays.stream(reds).anyMatch(i -> i == rouletteSpin)) {
    ...
  }

我建议使用数组、集合或其他集合来组合所有项目,例如

  private static int[] reds = new int[] {2, 4, 6, 8, 10, ...};
然后检查

  if (Arrays.stream(reds).anyMatch(i -> i == rouletteSpin)) {
    ...
  }

你需要做很多布尔或语句

或者,您可以将所有数字添加到Set对象,然后只需执行
if Set.contains(轮盘赌)

如果您对性能感兴趣,这比使用列表或数组更快。(常数与线性)

您可以像这样声明这样的集合

HashSet<Integer> set = new HashSet<>;
set.add(num); // for all your numbers 
HashSet=newhashset;
set.add(num);//为了你所有的数字

只存储一组数字也是有意义的,因为有两种颜色(红色和黑色)。如果红色集合不包含数字,则必须为黑色

您必须执行许多布尔OR语句

或者,您可以将所有数字添加到Set对象,然后只需执行
if Set.contains(轮盘赌)

如果您对性能感兴趣,这比使用列表或数组更快。(常数与线性)

您可以像这样声明这样的集合

HashSet<Integer> set = new HashSet<>;
set.add(num); // for all your numbers 
HashSet=newhashset;
set.add(num);//为了你所有的数字
只存储一组数字也是有意义的,因为有两种颜色(红色和黑色)。如果红色集合不包含数字,则必须为黑色

把某物做成:

private static final Set<Integer> RED = Collections.unmodifiableSet(
        new HashSet<Integer>(
        Arrays.asList(2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35)));
使某物像:

private static final Set<Integer> RED = Collections.unmodifiableSet(
        new HashSet<Integer>(
        Arrays.asList(2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35)));

我会保留一个红色列表并查询该列表。例如:

Integer[] redArray = {1, 3, 5 ...};
List<Integer> red = Arrays.asList(redArray);
int num = 3;
if(red.contains(num)){
    System.out.println("red");
}
Integer[]redArray={1,3,5…};
List red=array.asList(redArray);
int num=3;
如果(红色包含(数量)){
系统输出打印项次(“红色”);
}

我会保留一个红色列表并查询该列表。例如:

Integer[] redArray = {1, 3, 5 ...};
List<Integer> red = Arrays.asList(redArray);
int num = 3;
if(red.contains(num)){
    System.out.println("red");
}
Integer[]redArray={1,3,5…};
List red=array.asList(redArray);
int num=3;
如果(红色包含(数量)){
系统输出打印项次(“红色”);
}

虽然
HashSet
方法有其优点,但这里有一个尚未提及的替代方法:

switch(x) {
case 1:
case 3:
case 5:
case 7:
  doSomething();
  break;
case 2:
case 4:
case 6:
case 8:
  doSomethingElse();
  break;
default:
  fail();
  break;
}

这也适用于枚举,即
ROLL\u 00、ROLL\u 0、ROLL\u 1
。。。编译器甚至可以帮助您检查是否遗漏了任何选项

虽然
HashSet
方法有其优点,但这里有一个尚未提及的替代方法:

switch(x) {
case 1:
case 3:
case 5:
case 7:
  doSomething();
  break;
case 2:
case 4:
case 6:
case 8:
  doSomethingElse();
  break;
default:
  fail();
  break;
}

这也适用于枚举,即
ROLL\u 00、ROLL\u 0、ROLL\u 1
。。。编译器甚至可以帮助您检查是否遗漏了任何选项

你可以说如果(轮盘赌=2 | | |轮盘赌=4 | |轮盘赌=6 | | | | | | | | | | | | | | | | | |。但更好的方法是了解
Set
类型。请看。顺便问一下,如果
rouletteSpin
是一个
int
,你将如何区分“0”和“00”?你可以说
if(rouletteSpin==2 | | rouletteSpin==4 | | rouletteSpin==6 | | | | | | | | | | | | | | | |。但更好的方法是了解
Set
类型。请看。顺便问一下,如果轮盘赌是一个
int
,你将如何区分“0”和“00”?哇,这么多答案。我试试这些,然后回来。谢谢哇,这么多答案。我试试这些,然后回来。谢谢