Java 尝试生成范围内的数字,并将生成的数字添加到计数器以显示为输出
我正在生成范围为1到7的随机数,并将1分配给A,2分配给B。。。。当随机数生成时,我想把这个数加到计数器上,直到循环结束,然后输出生成字母的数字。当我进入时,我想达到的目标是:10。我应该得到输出: 统计数字如下: A:1 B:3 C:1 D:2 E:2 F:1 G:0 如果你计算生成的数字加起来是10,这是输入,但当我输入10时,我得到: A:3 B:4 C:5 D:5 E:7 F:8 G:11Java 尝试生成范围内的数字,并将生成的数字添加到计数器以显示为输出,java,loops,input,switch-statement,joptionpane,Java,Loops,Input,Switch Statement,Joptionpane,我正在生成范围为1到7的随机数,并将1分配给A,2分配给B。。。。当随机数生成时,我想把这个数加到计数器上,直到循环结束,然后输出生成字母的数字。当我进入时,我想达到的目标是:10。我应该得到输出: 统计数字如下: A:1 B:3 C:1 D:2 E:2 F:1 G:0 如果你计算生成的数字加起来是10,这是输入,但当我输入10时,我得到: A:3 B:4 C:5 D:5 E:7 F:8 G:11 解决它Case语句需要与break成对,否则代码执行将简单地执行从第一个匹配Case向下的所有内容
解决它Case语句需要与break成对,否则代码执行将简单地执行从第一个匹配Case向下的所有内容,忽略更多Case语句。对很多人来说,这有点违反直觉。
import javax.swing.JOptionPane;
public class sheet10t3
{
public static void main(String[] args)
{
String menu = "How many random notes would you like?\n(input must be in the range 10 to 50)?", results = "";
int input = Integer.parseInt(JOptionPane.showInputDialog(null,menu));
int aNumber, countA = 0, countB = 0, countC = 0, countD = 0, countE = 0, countF = 0, countG = 0;
if(input < 1 || input > 50)
results = "Please enter a valid input in the range 1 to 50.";
else
{
for(int i = 0; i <= input; i++)
{
aNumber = (int) (Math.random() * 7 + 1);
switch(aNumber)
{
case 1: countA++;
case 2: countB++;
case 3: countC++;
case 4: countD++;
case 5: countE++;
case 6: countF++;
case 7: countG++;
}
}
results = "Count of each note is as follows:";
results += "\nA: " + countA;
results += "\nB: " + countB;
results += "\nC: " + countC;
results += "\nD: " + countD;
results += "\nE: " + countE;
results += "\nF: " + countF;
results += "\nG: " + countG;
}
JOptionPane.showMessageDialog(null,results);
}
}
case 1: countA++;
break;
case 2: countB++;
break;
case 3: countC++;
break;
case 4: countD++;
break;
case 5: countE++;
break;
case 6: countF++;
break;
case 7: countG++;
break;