Random 使用随机生成的数字创建星号直方图

Random 使用随机生成的数字创建星号直方图,random,histogram,Random,Histogram,所以基本上我必须使用随机生成器生成100个介于1和10之间的随机数,然后将它们相加求和,然后有一个直方图,显示出现的每个数字的星号。。。我想我第一部分是对的,但是我试着在第二部分使用下面的指南,但是我真的不太确定如何将它应用到我的数字中。。。任何帮助都会很好 嘿,伙计们,我环顾四周,发现了类似的东西: /** *在这里写一篇关于类随机计算器的描述。 * *@author(你的名字) *@version(版本号或日期) */ 导入java.util.Random; 公共类随机计算器 { 公共静态

所以基本上我必须使用随机生成器生成100个介于1和10之间的随机数,然后将它们相加求和,然后有一个直方图,显示出现的每个数字的星号。。。我想我第一部分是对的,但是我试着在第二部分使用下面的指南,但是我真的不太确定如何将它应用到我的数字中。。。任何帮助都会很好

嘿,伙计们,我环顾四周,发现了类似的东西:

/**
*在这里写一篇关于类随机计算器的描述。
* 
*@author(你的名字)
*@version(版本号或日期)
*/
导入java.util.Random;
公共类随机计算器
{
公共静态void main(字符串[]args)
{
随机r=新随机();
System.out.println(“一百个随机值是:”);
int[]值=新的int[100];

对于(int i=0;i您希望生成100个介于1和10之间的随机数,但您的代码生成10个介于0(包括)和99(包括)之间的随机数

您必须将第一个for循环更改为100次,而不是10次,并更改行

int randomint=r.nextInt(100);

int randomint=1+r.nextInt(10);

这将保证间隔[1,10]上的数字(包括两者)

对于直方图部分,您要创建另一个数组来存储直方图箱(每个直方图条/列的频率)。您可以更新直方图箱,也可以在第一个循环中更新总和,不需要第二个循环

然后使用第二个循环(双循环表示循环)打印出直方图箱(外循环表示行,内循环表示星号)


示例:

你的问题是什么?我在字符串One=行中得到了一个预期值,我不知道该怎么办。你在该行的末尾有一个额外的逗号…@AustinElliker:如果这解决了你的问题,记得接受答案。否则,请对仍然缺少的内容发表评论。
/**
 * Write a description of class RandomCalculator here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
import java.util.Random;
public class RandomCalculator
{
    public static void main(String[] args)
    {
        Random r = new Random();
        System.out.println(" The one hundred random values are: ");
        int[] values = new int[100];
        for(int i =0; i<10; i++)
        {
            int randomint = r.nextInt(100);
            values[i] = randomint;
            System.out.print(" , " + randomint);
        }
        int sum = 0;
        for(int i : values) {
            sum+= i;
        }
        System.out.println("Sum =  " + sum);
    }
    int input = Integer.parseInt(in.nextLine());
        int aNumber;
        String One = "", Two = "", Three= "", Four = "", Five = "", Six = "", Seven = "", Eight = "", Nine = "", Ten = "", ;
      if (randomint<1 || randomint >100)

        else
        {
            for(int i = 0; i < input; i++)
            {
                aNumber = (int) (Math.random() * 100 + 1);
                if(aNumber <= 1)               One   += "*";
                else if(aNumber <= 2)            Two += "*";
                else if(aNumber <= 3)          Three  += "*";
                else if(aNumber <= 4)          Four  += "*";
                else if(aNumber <= 5)          Five  += "*";
                else if(aNumber <= 6)          Six  += "*";
                else if(aNumber <= 7)          Seven  += "*";
                else if(aNumber <= 8)          Eight  += "*";
                else if(aNumber <= 9)
        else if(aNumber <= 10)            Nine += "*";
                else                            Ten += "*";
            }
        }

    }
}
    }