我有一个程序基本上需要随机化一个数组中的一堆数字,然后计算一个范围内的数字被找到的次数。然后它会打印出来,例如,
0 | ***
1-10 | ************
11-20 | **********
21-30 | *********
31-40 | **************
41-50 | *********
我的问题是我无法将数字放入范围内,所以我在下面的代码中添加了一些临时范围来向你们展示我想要做的事情:
公共类数组{
public static void main(String[] args) {
int numbers[]=new int[50];
String asterisk = "*";
String asterisk1 = "*";
String asterisk2 = "*";
String asterisk3 = "*";
String asterisk4 = "*";
String asterisk5 = "*";
for (int i = 0; i <= numbers.length; i++)
{
numbers [i] = (int)(Math.random()*50);
if (numbers = 0)
{
asterisk += 1;
}
if (numbers >= 1 && numbers >= 10)
{
asterisk1 += 1;
}
if (numbers >= 11 && numbers >= 20)
{
asterisk2 += 1;
}
if (numbers >= 21 && numbers >= 30)
{
asterisk3 += 1;
}
if (numbers >= 31 && numbers >= 40)
{
asterisk4 += 1;
}
if (numbers >= 41 && numbers >= 50)
{
asterisk5 += 1;
}
}
System.out.format("%0s, %6s, %8s", "0", "|", asterisk);
System.out.format("%0s, %6s, %8s", "1-10", "|", asterisk1);
System.out.format("%0s, %6s, %8s", "11-20", "|", asterisk2);
System.out.format("%0s, %6s, %8s", "21-30", "|", asterisk3);
System.out.format("%0s, %6s, %8s", "31-40", "|", asterisk4);
System.out.format("%0s, %6s, %8s", "41-50", "|", asterisk5);
}
}
答案 0 :(得分:1)
为了给你一点点推动,你似乎没有在数组中保存随机数字。你将它们设置为循环内部的一个变量,它不会超出循环。
此外,你的数组设置为保持51个整数,但你的循环只会插入前50个。这不一定会破坏你的程序,但最好确保你的所有数字都匹配。
至于计数,你的桶似乎是十个一组,所以一些数学基于什么&#34;数十&#34;价值所包含的数字将是一个很好的一步。我不只是想把算法交给你,因为学习解决这些问题对于你作为开发人员的持续发展至关重要。