在java中嵌套for循环

时间:2015-04-28 16:44:20

标签: java arrays

我正在尝试使用增强型for循环输出数组。我想把它打印成;

a[0] = 5, a[1] = 8, ... and so on.

这是我的代码;

int[] a = {5, 8, 10, 24, 45};

        for(int i=0 ;i <= 4; i++) {
             for(int  enhancedfor : a) {
                 System.out.print("a[" + i + "] = " + enhancedfor + ", ");
 }
}

我实际上想要的是,一旦它输出a [0]的值,而不是再次进行相同的循环,它应该首先用于语句,然后用于第二个...

任何帮助人员?

4 个答案:

答案 0 :(得分:1)

如果要打印

a[0] = 5, a[1] = 8, ... and so on.

然后你不需要内循环。只做

for(int i=0 ;i <= 4; i++)
    System.out.print("a[" + i + "] = " + a[i]+ ", ");   

答案 1 :(得分:1)

无法在增强的for循环中找到当前索引(有变通方法,但通常不值得)。无论哪种方式,你现在有两个for循环,而实际上它应该是一个。因此,您应该在普通的for循环和使用索引之间选择,或者使用增强的for循环并删除索引。

所以要么

int[] a = {5, 8, 10, 24, 45};
for(int i = 0; i < 5; i++) {
    System.out.print("a[" + i + "] = " + a[i] + ", ");
}

int[] a = {5, 8, 10, 24, 45};
for(int i : a) {
    System.out.print(i + ", ");
}

如果你真的真的想要,你可以引入一个在每次打印时递增的变量,这样你仍然可以打印当前索引。

答案 2 :(得分:0)

  1. 有一种方法可用于输出答案。见代码:

    Integer[] a = {5, 8, 10, 24, 25};
    
    for(int loop:a){
        System.out.print("a[" + Arrays.asList(a).indexOf(loop) +"] = " + loop + ", ");
    }
    

    但为此,只需导入java.util.Arrays 试试吧。

  2. 现在还有另一种方法可以使用增强型for循环来获得所需的输出:

    int[] a = {5, 8, 10, 24, 45};
    int c,  i;
    c = i = a.length;
    
    for (int temp:a) {
        int x = c - i;
        System.out.print("a[" + x +"] = " + temp + ", ");
        i -= 1;
    }
    
  3. 这应该这样做。它将只使用数组长度功能并使用它以方便使用。

答案 3 :(得分:0)

public class Forloop {

    public static void main(String[] args) {
        // TODO code application logic here
        int fl=0,sl=0;

        for(int i =0;i<=3;i++)
        {
            fl=fl+i;

            for( int k=0;k<=2;k++)
            {
                sl=sl+k;
            }
        }
        System.out.println("Sum="+(fl+sl));
    }
}