java中生成随机数的switch语句:不工作
我在代码中使用了一个switch语句,它掷硬币并生成一个随机结果。如果硬币落在0上,它显示尾巴,如果落在1上,它显示正面。但是当我使用switch语句时,输出总是要么只是“head”,要么同时是“tails”和“heads” 我的代码:java中生成随机数的switch语句:不工作,java,if-statement,random,switch-statement,Java,If Statement,Random,Switch Statement,我在代码中使用了一个switch语句,它掷硬币并生成一个随机结果。如果硬币落在0上,它显示尾巴,如果落在1上,它显示正面。但是当我使用switch语句时,输出总是要么只是“head”,要么同时是“tails”和“heads” 我的代码: import static java.lang.System.*; import java.util.*; class generateRandomNumbers{ public static void main(String[] args){
import static java.lang.System.*;
import java.util.*;
class generateRandomNumbers{
public static void main(String[] args){
Random coin = new Random();
int toss;
toss = coin.nextInt(2);
switch(toss){
case 0 : out.println("tails");
case 1 ; out.println("heads");
}
}
}
但当我使用if-else语句时,它按计划工作:
import static java.lang.System.*;
import java.util.*;
class generateRandomNumbers{
public static void main(String[] args){
Random coin = new Random();
int toss;
toss = coin.nextInt(2);
if(toss == 0){
out.println("tails");
}
else{
out.println("heads");
}
}
}
尝试添加中断
Random coin = new Random();
int toss;
toss = coin.nextInt(2);
switch(toss){
case 0 : System.out.println("tails"); break;
case 1 : System.out.println("heads"); break;
}
如果您不终止
switch
语句中的case
将失效(通常使用中断
,但是返回
ing或抛出
异常也会起作用)。在您的情况下,当您随机生成0
时,将执行其大小写,然后程序将继续执行下一个大小写(1
)。您可以通过在每个大小写的末尾添加break
语句来解决此问题:
switch(toss){
case 0 :
out.println("tails");
break; // Here
case 1 :
out.println("heads");
break; // And here
}
其他信息可在中找到。,但按以下方式更改代码会有所帮助:
case 0 : out.println("tails"); break;
case 1 : out.println("heads"); break;
但是对于像您这样的情况,我更愿意使用布尔标志来解决我的问题。在第一个case块之后需要一个break语句来获得预期的行为。switch语句的工作方式是,在不中断的情况下,控制流在匹配的case之后执行每个语句。这将是您的案例的正确代码
import static java.lang.System.*;
import java.util.*;
class generateRandomNumbers{
public static void main(String[] args){
Random coin = new Random();
int toss;
toss = coin.nextInt(2);
switch(toss){
case 0 :
out.println("tails");
break;
case 1 ; out.println("heads");
}
}
}
阅读更多关于switch语句在Java中工作的信息。
在案例之间遗漏了break
…此代码无法编译….case1;
在您的案例之后添加break语句哦,是的!谢谢!@piyushjaiswal@OrchoSiddiqui-请选择并标记问题的适当答案
import static java.lang.System.*;
import java.util.*;
class generateRandomNumbers{
public static void main(String[] args){
Random coin = new Random();
int toss;
toss = coin.nextInt(2);
switch(toss){
case 0 :
out.println("tails");
break;
case 1 ; out.println("heads");
}
}
}