如何在Java中使用循环用整数填充数组

如何在Java中使用循环用整数填充数组,java,arrays,loops,for-loop,Java,Arrays,Loops,For Loop,我是一名新手,我将完成一项练习,即编写一个简单的程序,在控制台中生成一个数组: 0, 0,1, 0,1,2, 我在谷歌搜索类似问题时失败了,这将指导我找到解决方案 我将非常感谢你的帮助。 这是我一直试图建立的基础,但我完全被卡住了: public static void main(String[] args) { // TODO Auto-generated method stub int[] table = new int[11]; f

我是一名新手,我将完成一项练习,即编写一个简单的程序,在控制台中生成一个数组:

0,

0,1,

0,1,2,

我在谷歌搜索类似问题时失败了,这将指导我找到解决方案

我将非常感谢你的帮助。 这是我一直试图建立的基础,但我完全被卡住了:


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] table = new int[11];
        for ( int i = 0; i <=10; i++){
            table[i] = i;
            System.out.println(i);
        }
    }



公共静态void main(字符串[]args){
//TODO自动生成的方法存根
int[]表=新int[11];

对于(inti=0;i您需要两个循环,一个循环用于行,另一个循环用于每行的数字

for (int i=0; i<=10; i++) {
  table[i] = i;
  for (int j=0; j<=i; j++) {
    System.out.print(table[j]);
  }
  System.out.print("\n");
}

对于(int i=0;i您应该使用
数组。toString
,如下所示:

import java.util.Arrays;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] table = new int[11];
        for ( int i = 0; i <=10; i++){
            table[i] = i;
            System.out.println(Arrays.toString(table));
        }
    }
}
如果您只想填充到目前为止的元素,则需要更多的参与:

import java.util.Arrays;

public class Main {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] table = new int[11];
        for ( int i = 0; i <=10; i++){
            table[i] = i;
            for(int j = 0; j <= i; j++)
            {
              System.out.print((j == 0 ? "" : ", ") + table[j]);
            }
            System.out.println();
        }
    }
}
您可以尝试以下方式:

import java.util.stream.Collectors;
import java.util.stream.IntStream;

IntStream.range(0, 15).forEach(
        x -> System.out.println(
                IntStream.rangeClosed(0, x)
                         .mapToObj(String::valueOf)
                         .collect(Collectors.joining(", ")))
);
输出:

0
0, 1
0, 1, 2
0, 1, 2, 3
0, 1, 2, 3, 4
0, 1, 2, 3, 4, 5
0, 1, 2, 3, 4, 5, 6
0, 1, 2, 3, 4, 5, 6, 7
0, 1, 2, 3, 4, 5, 6, 7, 8
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
0
0, 1
0, 1, 2
0, 1, 2, 3
0, 1, 2, 3, 4
0, 1, 2, 3, 4, 5
0, 1, 2, 3, 4, 5, 6
0, 1, 2, 3, 4, 5, 6, 7
0, 1, 2, 3, 4, 5, 6, 7, 8
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14

“在控制台中生成数组”-注意控制台只是一个文本输出,即那里没有数组。要生成所需的输出,您可以使用两个循环,一个循环从0迭代到最大值,另一个循环从0循环到外部循环的当前值(例如,
)(int i=0;i最后一行给出了100%的预期结果,但它仍然局限于“for”循环(本练习就是使用它),这是一个完美的解决方案-非常感谢您的帮助!现在我正在尝试记录每一行,以便我能更好地理解它,我很难弄清楚这里到底发生了什么:((j==0?):“,”)+table[j])@Mutton它说,“当前元素,前面有逗号和空格,如果这不是行中的第一个元素”
0
0, 1
0, 1, 2
0, 1, 2, 3
0, 1, 2, 3, 4
0, 1, 2, 3, 4, 5
0, 1, 2, 3, 4, 5, 6
0, 1, 2, 3, 4, 5, 6, 7
0, 1, 2, 3, 4, 5, 6, 7, 8
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14