需要帮助分配和理解嵌套循环

时间:2015-09-23 08:45:20

标签: java loops nested

所以赋值处理java嵌套循环,我真的很困惑。我已经尝试过阅读教科书,观看视频仍然没有得到它。

分配:使用嵌套循环为数字1-10创建方形和立方体表。

Number Square Cube

1 1 1

2 4 8

3 9 27

4 16 64

5 25 125

6 36 216

7 49 343

8 64 512

9 81 729

10 100 1000 

我尝试了什么(不工作) 第一个模板:

for(int i = 1; i <= 10; i++){ // Print 10 rows
    System.out.println( i);
    for(int j = 1; j<= 3; j++){ // Print 3 columns
        System.out.print() // How does j relate to i to get desired numbers on columns?
    }
}

我意识到没有嵌套循环可以做到这一点:

for(int i =1; i<=10; i++){
    System.out.println(i+"\t"+i*i+"\t"+i*i*i);
}

我真的很踩到这一点,因为我应该使用嵌套循环进行赋值,下一个赋值需要我使用带有嵌套循环的数组,让用户输入数字列的第一个和最后一个数字。

2 个答案:

答案 0 :(得分:2)

你需要两个循环。一个用于第一个数字。一个用于这个数字的权力。 E.g:

    for(int i = 1; i <= 10; i++){ // Print 10 rows
        for(int j = 1; j<= 3; j++){ // Print 3 columns
                System.out.print(((int)Math.pow(i, j))+" ");
        }
        System.out.println();
    }

这会在每一行打印i ^ 1 i ^ 2 i ^ 3(j首先是1比2比3)。

答案 1 :(得分:0)

这是一种方法。请注意,循环不必循环连续的数字。我的内循环利用了它。

System.out.println("1 1 1"); // Kludge the first case
for (int i = 2; i <= 10; i++){ // Print 10 rows
    for(int j = i; j <= i * i * i; j *= i){ // Iterate up to cube, *= is the smart bit
       System.out.print(j); // Print the number with no newline
    }
    System.out.println(); // Separate the table. An extra line at the end is a bit naughty.
}

更详细地说,假设i是4.然后j将取初始值4,下一次迭代它将乘以4,(16)然后在最后一次迭代时它将再次乘以4,(64)。