我不知道如何使用数组在Java中添加方块

时间:2013-11-19 20:09:01

标签: java arrays loops

我是java的初学者,我被困住了。请帮帮我谢谢!所以这是我的代码到目前为止。程序应该询问用户最大数量,然后程序应该计算从1到最大的每个数字以及方形。然后在最后它应该添加它们。

请输入最大数字:

5

Arr1 0 Arr2 0 Arr3 0

Arr1 1 Arr2 1 Arr3 1

Arr1 5 Arr2 5 Arr3 5

Arr1 14 Arr2 14 Arr3 14

Arr1 30 Arr2 30 Arr3 30

Arr1 55 Arr2 55 Arr3 55

平方和为55

但是当我这样做时,所有Arr都有0,总和为0

import java.util.Scanner;
public class SumSquareArr {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Please enter the max number: ");
        int max = input.nextInt();
        int[]arr1 = new int[max+1];
        int[]arr2 = new int[max+1];
        int[]arr3 = new int[max+1];
        int total = 0;
        int i = 1;
        // For-loop to calculate 
        for (i = 1;i <= max;i++){
            int square; 
            square = i*i;
            arr1[square] = arr1[i-1] + i;
            i = 1;
            // While-loop to calculate
            while (i <= max) {
                arr2[square] = arr2[i-1] + i;
                i++;
            }
            i = 1;
            // Do-While-loop to calculate
            do
            arr3[square] = arr3[i-1] + i;
            while (++i <= max);
            for (i = 0; i <= max; i++)
            System.out.println("Arr1 " + arr1[i] + " Arr2 " + arr2[i] + " Arr3 " + arr3[i]);
        }
        System.out.println("Sum of Squares is " + arr1[total]);
    }
}

1 个答案:

答案 0 :(得分:0)

你的行

arr1[square] = arr1[i-1] + i;

应该说

arr1[i] = arr1[i-1] + square;

arr2arr3类似。

}之后你还错过arr1[square] = arr1[i-1] + i;{之前错过了System.out.println("Arr1 " + arr1[i] + " Arr2 " + arr2[i] + " Arr3 " + arr3[i]);

在正确嵌套循环后,您需要在square = i*i;循环和while循环内重复do-while