Java switch中的所有情况都会执行,而只应执行一个
我正在尝试创建一个非常简单的游戏,在这个游戏中,不同类型的玩家尝试猜测一个范围内的数字。我创建了一个函数来初始化一个播放器数组,并使用switch case来实现 出于某种原因,如果我输入一个数字,它将遍历其后的所有案例,即使数组中没有足够的单元格。例如,当输入2时,类型HUMAN的值,它也输入了类型3和类型4的案例,并且创建了类型COMPUTER和GUMBLER的玩家 代码如下:Java switch中的所有情况都会执行,而只应执行一个,java,arrays,switch-statement,Java,Arrays,Switch Statement,我正在尝试创建一个非常简单的游戏,在这个游戏中,不同类型的玩家尝试猜测一个范围内的数字。我创建了一个函数来初始化一个播放器数组,并使用switch case来实现 出于某种原因,如果我输入一个数字,它将遍历其后的所有案例,即使数组中没有足够的单元格。例如,当输入2时,类型HUMAN的值,它也输入了类型3和类型4的案例,并且创建了类型COMPUTER和GUMBLER的玩家 代码如下: String name; int count = 0; System.out.printl
String name;
int count = 0;
System.out.println("How many players will participate?");
players = new Player[reader.nextByte()];
for (Player player: players)
{
count++;
System.out.print("\n1)Name of the player: ");
name = reader.next();
System.out.println("What will be its type? WRITE A NUMBER\n1- Monley\n2-Human\n3-Gumbler\n4-Computer");
switch (reader.nextInt())
{
case 1:
player = new Monkey (name, MAXIMUM, MINIMUM);
System.out.println("A moneky was created");
case 2:
player = new Human (name);
System.out.println("A human was created");
case 3:
player = new Gumbler (name, MAXIMUM, MINIMUM);
System.out.println("A gummbler was created");
case 4:
player = new Computer (name, MAXIMUM, MINIMUM);
System.out.println("A computer was created");
}
}
最大值和最小值是需要猜测的数字的最小值和最大值。人类、猴子、计算机和口香糖是absract类播放器的扩展类。players是Player类型的玩家数组。用break结束每个案例块。在每个案例中都需要break语句。看
我建议您阅读Oracle网站上的Java教程。下面是一个例子,解决这类问题的最佳方法是将is标记为replicate。
String name;
int count = 0;
System.out.println("How many players will participate?");
players = new Player[reader.nextByte()];
for (Player player: players)
{
count++;
System.out.print("\n1)Name of the player: ");
name = reader.next();
System.out.println("What will be its type? WRITE A NUMBER\n1- Monley\n2-Human\n3-Gumbler\n4-Computer");
switch (reader.nextInt())
{
case 1:
player = new Monkey (name, MAXIMUM, MINIMUM);
System.out.println("A moneky was created");
break;
case 2:
player = new Human (name);
System.out.println("A human was created");
break;
case 3:
player = new Gumbler (name, MAXIMUM, MINIMUM);
System.out.println("A gummbler was created");
break;
case 4:
player = new Computer (name, MAXIMUM, MINIMUM);
System.out.println("A computer was created");
}
}