Java 每当一个数字出现在数组中时,添加一个星号
我有一个程序,基本上需要将数组中的一组数字随机化,然后计算在一个范围内找到一个数字的次数。然后打印出来,比如Java 每当一个数字出现在数组中时,添加一个星号,java,arrays,eclipse,format,Java,Arrays,Eclipse,Format,我有一个程序,基本上需要将数组中的一组数字随机化,然后计算在一个范围内找到一个数字的次数。然后打印出来,比如 0 | *** 1-10 | ************ 11-20 | ********** 21-30 | ********* 31-40 | ************** 41-50 | ********* 我的问题是,我无法将数字放入一个范围,所以我在下面的代码中加入了一些临时范围,以向大家展示我正在尝试做什么: 公共类数组{ public static vo
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);
}
publicstaticvoidmain(字符串[]args){
整数[]=新整数[50];
字符串星号=“*”;
字符串星号K1=“*”;
字符串星号K2=“*”;
字符串星号K3=“*”;
字符串星号k4=“*”;
字符串星号K5=“*”;
对于(整数i=0;i=1&&numbers>=10)
{
星号K1+=1;
}
如果(编号>=11和编号>=20)
{
星号K2+=1;
}
如果(编号>=21和编号>=30)
{
星号K3+=1;
}
如果(编号>=31和编号>=40)
{
星号k4+=1;
}
如果(编号>=41和编号>=50)
{
星号K5+=1;
}
}
系统输出格式(“%0s、%6s、%8s”、“0”、“|”和星号);
系统输出格式(“%0s、%6s、%8s”、“1-10”、“|”和星号K1);
系统输出格式(“%0s、%6s、%8s”、“11-20”、“|”和星号K2);
系统输出格式(“%0s、%6s、%8s”、“21-30”、“|”和星号K3);
系统输出格式(“%0s、%6s、%8s”、“31-40”、“|”和星号K4);
系统输出格式(“%0s、%6s、%8s”、“41-50”、“|”和星号K5);
}
}为了给您一点提示,您似乎没有在数组中保存随机数。将它们设置为循环内部的变量,而该变量不在循环之外 此外,数组设置为保存51个整数,但循环只插入前50个整数。这不一定会破坏你的程序,但最好确保你所有的数字都匹配
至于计数,您的桶似乎是十个一组的,因此,根据所讨论的数字包含的“十”值进行一些数学计算将是一个很好的步骤。我不想把算法交给你,因为学习解决这些问题对于你作为一名开发人员的持续发展至关重要。你能详细解释一下你的解释吗?对不起,我在这方面非常新手,但我想做得更好:)在for循环中(从上面第4行开始),您只有一行代码(第6行)。这行代码生成一个介于1和50之间的随机数,并将其存储在名为random的变量中。由于没有对该变量执行任何其他操作,因此在循环执行结束时,该变量中的值将丢失。第一个更正是确保将数组中的适当索引(i变量实际上包含该索引)分配给随机数。为了使这有意义,您必须了解for循环和数组的性质。如果你不知道的话,我建议先看看这些。这样我就可以系统地打印每个数字,并分别显示每个数字,但现在我该怎么说呢“如果next number=>1&&有许多不同的策略,但在进行任何打印之前,您可能需要先计算发生次数,因为在打印下一个存储桶之前,您需要知道每个存储桶要打印多少个星号。跟踪该计数可以在第二个整数数组中完成,可能是索引0代表1-10,索引1代表11-20,等等。这只是一种可能性。那么我该如何做到“如果下一个数字=索引0,请打印星号”,因为我喜欢你要走的路线:D