数组打印输出后退并打印出每行10个值

时间:2015-03-14 06:40:02

标签: arrays

public class prac4 {
public static void main(String[] args) {
    int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
            16, 17, 18, 19, 20,21,22,23,24,25,26,27,28,29,30,31,32,33 };

    for(int i=numbers.length-1;i>=0;i--){
        System.out.print(numbers[i]+" ");
        if(i==10)
            System.out.println();
    }
}

}

对于if(i==10),如果给定的值小于30,则没有问题 但是,如果有超过30个值,并且您应该向后打印值,然后同时打印每行只有10个值,您应该怎么做?

这只是if(i%10==0){System.out.println();} 打印数组,但由于它将是一个反向数组,但它有点令人困惑。

1 个答案:

答案 0 :(得分:1)

添加另一个变量:

int outputCount = 0;
for(int i=numbers.length-1;i>=0;i--){
    System.out.print(numbers[i]+" ");
    outputCount++;
    if(outputCount % 10 == 0)
        System.out.println();
}

或即时计算:

for(int i=numbers.length-1;i>=0;i--){
    System.out.print(numbers[i]+" ");
    int outputCount = (numbers.length - 1) - i + 1;
    if(outputCount % 10 == 0)
        System.out.println();
}