如何将预定义数组平方化并在3个整数空间中打印它

ej83mcc0  于 2021-07-06  发布在  Java
关注(0)|答案(2)|浏览(288)

我需要平方预定义的数组,但问题是迭代取决于用户输入的数字。我只是刚接触java,不知道它是如何工作的。

int[] array = {1, 2, 3, 4, 5}; // Predefined array.

    Scanner in = new Scanner(System.in);

  int num = in.nextInt(); // Number of loop.
  int sq = 0, sq2 = 0, sq3 = 0, sq4 = 0, sq5 = 0;

for(int i = 0; i < num; i++)
{

sq = array[i] * array[i];
sq2 = array[i] * array[i];
sq3 = array[i] * array[i];
sq4 = array[i] * array[i];
sq5 = array[i] * array[i];

}

for(int i = 0; i < num; i++)
{

  System.out.println(sq);
  System.out.println(sq2);
  System.out.println(sq3);
  System.out.println(sq4);
  System.out.println(sq5);

}

输入: 1 //iteration 输出:

1
1
1
1
1

预期产量:

001
004
009
016
025
pgky5nke

pgky5nke1#

价值 i 开头是0。所以所有的值实际上都在存储第0个元素的平方,第0个元素是数组中的第一个元素,这意味着它们都在存储“1”的平方。您的代码应该是这样的:

int[] array = {1, 2, 3, 4, 5}; // Predefined array.

Scanner in = new Scanner(System.in);

int num = in.nextInt(); // Number of loop.
int[] sq = {0, 0, 0, 0, 0};

for(int i = 0; i < num; i++)
{
    for(int j = 0; j < 5; j++)
    {
        sq[j] = array[j] * array[j];
    }
}

for(int i = 0; i < 5; i++)
{
  System.out.println(sq[i]);
}

这样就可以了。

wfauudbj

wfauudbj2#

为了求一个数的平方,你也可以使用 Math.pow() ,
这个 num 它的值将由用户输入可能会导致问题,所以您还需要检查 i 数组的索引不超过数组索引
你需要使用 printf 要将数字输出格式化为前导零:

int[] array = { 1, 2, 3, 4, 5 }; // Predefined array.

Scanner in = new Scanner(System.in);

int num = in.nextInt(); // Number of loop.
for (int i = 0; i < num && i < array.length; i++) {
    System.out.printf("%03d\n", array[i] * array[i]);
}

相关问题