Java 基本随机入for循环的基本实现

Java 基本随机入for循环的基本实现,java,Java,我需要从main分配一个掷骰子值,将其发送到我的class->method中,并循环使用这个值。每次掷骰子时,需要将1-6的随机值保存在某个地方,我是这样做的: public class Generator { public static int DiceGame(int amountToss) { //Declare local variables int numberShowing = 0; int toss = 0;

我需要从main分配一个掷骰子值,将其发送到我的class->method中,并循环使用这个值。每次掷骰子时,需要将1-6的随机值保存在某个地方,我是这样做的:

public class Generator {
    public static int DiceGame(int amountToss) 
    {
        //Declare local variables
        int numberShowing = 0; 
        int toss = 0;
        int result = 0;
        int one = 1;
        int two = 2;
        int three = 3;
        int four = 4;
        int five = 5;
        int six = 6;

        Random dice = new Random();  //Create constructor
        numberShowing = dice.nextInt(6) +1;
        for (int i = 0; i < toss; i++) {
            numberShowing = i;
            resultat=i;
        }
        return result;
    }
}
公共类生成器{
公共静态整数掷骰子游戏(整数掷骰子)
{
//声明局部变量
整数显示=0;
int=0;
int结果=0;
int-one=1;
int 2=2;
int三=3;
int-four=4;
int 5=5;
int六=6;
Random dice=new Random();//创建构造函数
数字显示=骰子。下一个骰子(6)+1;
for(int i=0;i
我还应该存储和显示1s、2s等的显示次数,但稍后我会发现这一点。
我只想至少有点事能做。

如果我没弄错你的意思,你会想这么做的

public static int[] DiceGame(int amountToss) 
{
    //Declare local variables
    int[] nums = new int[6];

    Random dice = new Random();  //Create constructor
    for (int i = 0; i < amountToss; i++) {
        nums[dice.nextInt(6)]++;
    }
    return nums;
}
公共静态int[]骰子游戏(int amountToss)
{
//声明局部变量
int[]nums=新的int[6];
Random dice=new Random();//创建构造函数
for(int i=0;i

返回的数组将按索引列出每个骰子的计数。

我认为您无法看到结果,因为您的掷骰值已初始化为0。您需要从较高的值开始,例如10,并在每次运行时将其减1。要显示生成的数字,您需要在关闭for循环之前打印结果。或者,您可以将生成的结果存储在列表中并打印列表。希望这有帮助

for (int i = 0; i < toss; i++) {
            numberShowing = i;
            result=i;
            toss --;
            System.out.println(result);
} if (toss == 0){
toss = 10;
}
for(int i=0;i
以下是保存和显示随机值结果以及每个数字计数的代码

public static void DiceGame(int amountToss) {
    //Declare local variables 

    Random dice = new Random();
    int outputNumbers[] = new int[amountToss];
    int numbersCount[] = new int[6];
    int current = 0;

    for (int i = 0; i < amountToss; i++) {

        current = dice.nextInt(6) + 1;
        outputNumbers[i] = current;
        numbersCount[current-1]++;
        System.out.println("number: " + outputNumbers[i]);

    }

    System.out.println("\nNumbers count:\n");
    for (int i = 0; i < amountToss; i++) System.out.println((i+1) + ": " + numbersCount[i]);

}
publicstaticvoiddicegame(int-amountToss){
//声明局部变量
随机骰子=新随机();
int outputNumbers[]=新int[amountToss];
int numberscont[]=新的int[6];
int电流=0;
for(int i=0;i

希望这能对您有所帮助。

看起来您缺少了一个卷发支架。这是从复制意大利面中漏掉的吗?在编辑添加更多代码之前,您缺少了一个大括号。那么您到底想实现什么呢?所需的输出是什么?说真的,你需要什么帮助?哦,对不起,我刚刚复制了这个类,一定是错过了大括号。我所需的输出需要显示一个1-6之间的随机数字符串,表示我掷骰子的次数,例如:我掷50次,我想输出152635…等,直到达到50次,我知道这是一个愚蠢的方法,但我不允许将其存储到数组或列表中,所以我不能使用该函数。length..是的,我想这样做!我不知道它是否被接受,因为我们还没有通过数组,我想他希望我们做一个恼人的工作,因此我经历了为每个数字声明变量的麻烦