Java 尝试生成范围内的数字,并将生成的数字添加到计数器以显示为输出

Java 尝试生成范围内的数字,并将生成的数字添加到计数器以显示为输出,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向下的所有内容

我正在生成范围为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语句。对很多人来说,这有点违反直觉。
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;