如何获得指数以及数组数字水平打印出来?



我有一个赋值,其中一部分是在1d数组中生成n个0-99之间的随机数,其中用户输入n。现在,我必须打印出这些格式如下的数字:

What is your number? 22 //user entered
1 2 3 4 5 6 7 8 9 10
----random numbers here---------
11 12 13 14 15 16 17 18 19 20
-----random numbers here--------
21 22
---two random numbers here---

使用这些数字,我发现了许多其他的东西,(如最小,最大,中位数,异常值等),我能够做到这一点。但是,我无法按照上面所示的格式打印出来,每行不超过10个数字。

编辑:你好,我设法弄明白了,我是这样做的:

int counter = 0;
int count2 = 0;
int count3 = 0;
int add = 0;

int idx = 1;
int idx2 = 0;

if (nums > 10)
{
count3 = 10;
count2 = 10;
}
else 
{
count3 = nums;
count2 = nums;
}

if (nums%10 == 0) add = 0;
else add = 1;

for (int i = 0; i < nums/10 + add; i++)
{
for (int j = 0; j < count3; j++)
{
System.out.print(idx + "t");
idx++;
}

System.out.println();

for (int k = 0; k < count2; k++)
{
System.out.print(numbers[idx2] + "t");
idx2++;
counter++;
}

System.out.println("n");

if (nums-counter > 10)
{
count3 = 10;
count2 = 10;
}
else 
{
count3 = nums-counter;
count2 = nums-counter;
}
}

感谢所有帮助过我的人!此外,如果你找到一个方法来缩短我上面所做的,请告诉我。

上面*,nums为用户输入的数字个数

我将使用for循环来创建数组的数组,然后使用这些值对行进行格式化:

var arr_random_n = [1,2,3,4,5,6,7,8,9,0,1,2,3,6,4,6,7,4,7,3,1,5,7,9,5,3,2,54,6,8,5,2];
var organized_arr = [];
var idx = 0
for(var i = 0; i < arr.length; i+=10){
organized_arr[idx] = arr.slice(i, i+10); //getting values in groups of 10
idx+=1 //this variable represents the idx of the larger array
}

现在organized_arr有一个数组的数组,索引i中的每个数组包含i中要打印的值。

可能有更简洁的方法。这是很直观的。如果有任何改进,请告诉我。

这样的东西可能是你正在寻找的。

private static void printLine(String msg)
{
System.out.println("rn== " + msg + " ==rn");
}
private static void printLine(int numDisplayed)
{
printLine(numDisplayed + " above");
}
public static void test(int total)
{
int[] arr = new int[total];
// Fill our array with random values
for (int i = 0; i < total; i++)
arr[i] = (int)(Math.random() * 100);
for (int i = 0; i < total; i++)
{
System.out.print(arr[i] + " ");
// Check if 10th value on the line, if so, display line break
// ** UNLESS it's also the last value - in that case, don't bother, special handling for that
if (i % 10 == 9 && i != total - 1)
printLine("Random Numbers");
}
// Display number of displayed elements above the last line
if (total < 10 || total % 10 != 0)
printLine(total % 10);
else
printLine(10);
}

要在数组的这些元素的一行上打印10个索引,使用两个String变量来构建行,然后在两个嵌套循环中打印它们:

for (int i = 0; i < array.length; i += 10) {
String indexes = "", elements = "";
for (int j = 0; j < 10 &&  i * 10 + j < array.length; j++) {
int index = i * 10 + j;
indexes += (index + 1) + " "; // one-based as per example in question
elements += array[index] + " ";
}
System.out.println(indexes);
System.out.println(elements);
}

最新更新