用java数组嵌套forloop

用java数组嵌套forloop,java,arrays,loops,nested,Java,Arrays,Loops,Nested,给定一个字符串数组: String[] arrays = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N"}; 我能够制作出这样的图案: for(int i = 0; i < 6; i++) { for(int j = 0; j <= 6; j++) { System.out.print(" " + arrays[j]);

给定一个字符串数组:

    String[] arrays = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N"};
我能够制作出这样的图案:

    for(int i = 0; i < 6; i++)
    {
        for(int j = 0; j <= 6; j++)
        { 
            System.out.print(" " + arrays[j]);
        }
        System.out.println();
    }
但我想要的是它继续它停止的地方,而不是重复上一个,我知道我需要在嵌套for循环中的某个地方使用if语句,但不确定if语句中包含什么或它是什么样子。 我想要的是:

     A B C D E F G
     H I J K L M N
提前感谢您。

int j=0;
int j = 0;
for(int i = 0; i < arrays.length; i++)
{
    j++;
    System.out.print(" " + arrays[i]);
    if (j == 6)
    {
        System.out.println();
        j = 0;
    }
}
for(int i=0;i
int j=0;
for(int i=0;i
您可以测试当前索引是否将
数组长度的一半模化为
0
(即除法的剩余部分是否为
0
);如果是打印新行。大概

String[] arrays = { "A", "B", "C", "D", "E", "F", "G", "H", "I", 
                    "J", "K", "L", "M", "N" };
int half = arrays.length / 2;
for (int i = 0; i < arrays.length; i++) {
    System.out.printf("%s ", arrays[i]);
    if ((i + 1) % half == 0) {
        System.out.println();
    }
}

与嵌套的
for
循环不同,您可以测试当前索引是否将
数组长度的一半模化为
0
(即除法的剩余部分是否为
0
);如果是打印新行。大概

String[] arrays = { "A", "B", "C", "D", "E", "F", "G", "H", "I", 
                    "J", "K", "L", "M", "N" };
int half = arrays.length / 2;
for (int i = 0; i < arrays.length; i++) {
    System.out.printf("%s ", arrays[i]);
    if ((i + 1) % half == 0) {
        System.out.println();
    }
}

对于这样的循环,您可以使用
while
而不是

public static void main (String[] args) throws java.lang.Exception
{
    String[] arrays = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N"};
    int i = 0, j = -1;
    while(i < arrays.length) {
        System.out.print(" " + arrays[i]);
        i++;
        j++;
        if(j == 6) {
            System.out.println();
            j = -1;
        } 
    }
}
publicstaticvoidmain(字符串[]args)抛出java.lang.Exception
{
字符串[]数组={“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”};
int i=0,j=-1;
while(i
对于这样的循环,您可以在
的同时使用
而不是

public static void main (String[] args) throws java.lang.Exception
{
    String[] arrays = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N"};
    int i = 0, j = -1;
    while(i < arrays.length) {
        System.out.print(" " + arrays[i]);
        i++;
        j++;
        if(j == 6) {
            System.out.println();
            j = -1;
        } 
    }
}
publicstaticvoidmain(字符串[]args)抛出java.lang.Exception
{
字符串[]数组={“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”、“J”、“K”、“L”、“M”、“N”};
int i=0,j=-1;
while(i
您可以使用另一个变量来计算总迭代次数,如下所示:

String[][] array = new String[2][7];
int indexKeeper = 0;
String[] arrays = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N"};
for(int i = 0; i<2; i++) {
    for(int j = 0; j<7; j++) {
        array[i][j] = arrays[indexKeeper];
        indexKeeper ++;
        System.out.print(array[i][j]);
    }
    System.out.println();
}

您可以创建另一个变量来计算总迭代次数,如下所示:

String[][] array = new String[2][7];
int indexKeeper = 0;
String[] arrays = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N"};
for(int i = 0; i<2; i++) {
    for(int j = 0; j<7; j++) {
        array[i][j] = arrays[indexKeeper];
        indexKeeper ++;
        System.out.print(array[i][j]);
    }
    System.out.println();
}

只需要从数组的开始到结束有一个循环。然后每七个字符打印一行。您可以使用另一个变量跟踪当前行中打印的字符数。请确保在打印了七个字符后将变量正确地重置为零。如果我的回答中没有完全清楚,那么您肯定不需要嵌套for循环。David我知道你是从哪里来的我现在正在做更改我会马上给你回复的只要从数组开始到数组结束有一个循环。然后每七个字符打印一行。您可以使用另一个变量跟踪当前行中打印的字符数。请确保在打印了七个字符后将变量正确地重置为零。如果我的回答中没有完全清楚,那么您肯定不需要嵌套for循环。大卫,我知道你是从哪里来的,我正在做改变,我会马上给你回复的,对不起,埃利奥特,我对我的问题不够清楚,问题是,这只是一个小测试,数组实际上大约有50个字母长,我希望它每6个字母向下移动一行。我想你只需要写7个字母,而不是一半,这是迄今为止最好的答案。对不起,elliot,我对我的问题不够清楚,问题是,这只是一个小测试,数组实际上大约有50个字母长,我希望它每6个字母向下移动一行。我认为你只需要写7个字母,而不是一半,这是目前为止最好的答案