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