Orc*_*qui 2 java random if-statement switch-statement
我在代码中使用了 switch 语句来掷硬币并生成随机结果。如果硬币落在 0 上,则显示反面;如果硬币落在 1 上,则显示正面。但是当我使用 switch 语句时,输出总是要么只是“正面”,要么是“尾巴”和“正面”。
我的代码:
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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我使用 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");
}
}
}
Run Code Online (Sandbox Code Playgroud)
caseswitch如果不终止语句中的 s (通常使用 a break,但returning 或throwing 异常也可以解决问题)。在你的情况下,当你随机生成0它的情况时,它的情况就会被执行,然后程序就会继续到下一个情况(1)。您可以通过break在每个末尾添加语句来解决此问题case:
switch(toss){
case 0 :
out.println("tails");
break; // Here
case 1 :
out.println("heads");
break; // And here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7668 次 |
| 最近记录: |