Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java中的嵌套for循环获取图形_Java_For Loop_Nested Loops_Stacked - Fatal编程技术网

使用Java中的嵌套for循环获取图形

使用Java中的嵌套for循环获取图形,java,for-loop,nested-loops,stacked,Java,For Loop,Nested Loops,Stacked,任何关于如何在名为Window的类中编写Java程序的想法,该类生成前面的图形作为输出。我必须使用嵌套for循环来打印图形的重复部分。 我试了很多次,都没有成功:( 在名为Window的类中编写一个Java程序,该类生成前面的图形作为输出。使用嵌套for循环打印图形的重复部分。一旦开始工作,向程序中添加一个类常量,以便只需更改该常量的值即可更改图形的大小。显示的示例输出为常量nt大小为3,但如果更改该常数,则该数字应按比例变大和变宽 +===+===+ | | | | | | |

任何关于如何在名为Window的类中编写Java程序的想法,该类生成前面的图形作为输出。我必须使用嵌套for循环来打印图形的重复部分。 我试了很多次,都没有成功:(

在名为Window的类中编写一个Java程序,该类生成前面的图形作为输出。使用嵌套for循环打印图形的重复部分。一旦开始工作,向程序中添加一个类常量,以便只需更改该常量的值即可更改图形的大小。显示的示例输出为常量nt大小为3,但如果更改该常数,则该数字应按比例变大和变宽

+===+===+
|   |   |
|   |   |
|   |   |
+===+===+
|   |   |
|   |   |
|   |   |
+===+===+
好的,我已经知道了,但是仍然需要去掉3条底线-有什么想法吗

    for (int i = 1; i <= 3; i++) {
        for (int plus = 1; plus <= 2; plus++) {
            System.out.print("+");
        for (int shave = 1; shave <= 3; shave++) {
                System.out.print("=");
            }
            }
        System.out.print("+");
            System.out.println();
    for (int time = 1; time <= 3; time++) {
         for (int kav = 1; kav <= 3; kav++) {
                 System.out.print("|");
             for (int rev = 1; rev <= 3; rev++) {
                 System.out.print(" ");
             }
             }
         System.out.println();
        }
    }
for(inti=1;i这里有一种方法

    int rows = 3;
    int cols = 4;
    String output1 = "";
    String output2 = "";
    for(int j = 0; j < cols; j++)
    {
        output1 += "|   ";
    }
    output1 += "|";
    for(int j = 0; j < cols; j++)
    {
        output2 += "+===";
    }
    output2 += "+";
    for(int i = 0; i < rows*4; i++)
    {
        System.out.println((i % 4 != 0)?output1:output2);
    }
    System.out.println(output2);
int行=3;
int cols=4;
字符串output1=“”;
字符串输出2=“”;
对于(int j=0;j
这里有一种方法

    int rows = 3;
    int cols = 4;
    String output1 = "";
    String output2 = "";
    for(int j = 0; j < cols; j++)
    {
        output1 += "|   ";
    }
    output1 += "|";
    for(int j = 0; j < cols; j++)
    {
        output2 += "+===";
    }
    output2 += "+";
    for(int i = 0; i < rows*4; i++)
    {
        System.out.println((i % 4 != 0)?output1:output2);
    }
    System.out.println(output2);
int行=3;
int cols=4;
字符串output1=“”;
字符串输出2=“”;
对于(int j=0;j
可以重构为更漂亮,但可以:


静态字符串[][]数组={{“x”,“=”},{“|”,“}”

publicstaticvoidmain(字符串[]args){
对于(int y=0;y<9;y++){
对于(int x=0;x<9;x++){
系统输出打印(getSign(y,x));
}
系统输出打印(“\n”);
}
}
私有静态字符串getSign(inty,intx){
int modY=y%4;
int modX=x%4;
返回数组[getPos(modY)][getPos(modX)];
}
私有静态int getPos(int mod){
返回(mod&1)|((mod&2)>>1);
}

可以重构为更漂亮,但可以:


静态字符串[][]数组={{“x”,“=”},{“|”,“}”

publicstaticvoidmain(字符串[]args){
对于(int y=0;y<9;y++){
对于(int x=0;x<9;x++){
系统输出打印(getSign(y,x));
}
系统输出打印(“\n”);
}
}
私有静态字符串getSign(inty,intx){
int modY=y%4;
int modX=x%4;
返回数组[getPos(modY)][getPos(modX)];
}
私有静态int getPos(int mod){
返回(mod&1)|((mod&2)>>1);
}

我想这就是您想要的:

        final int BLOCK_SIZE = 2;
        for(int i=0; i<1; i++){
            System.out.print("+===+");
            for(int j=0; j<1; j++){
                System.out.println("===+");
                for(int k=0; k<BLOCK_SIZE; k++){
                    System.out.println("|   |   |\n|   |   |\n|   |   |");
                    for(int l=0; l<1; l++){
                        System.out.println("+===+===+");
                    }
                } System.out.println();
            }
        }
final int BLOCK_SIZE=2;

对于(int i=0;i我认为这就是您要寻找的:

        final int BLOCK_SIZE = 2;
        for(int i=0; i<1; i++){
            System.out.print("+===+");
            for(int j=0; j<1; j++){
                System.out.println("===+");
                for(int k=0; k<BLOCK_SIZE; k++){
                    System.out.println("|   |   |\n|   |   |\n|   |   |");
                    for(int l=0; l<1; l++){
                        System.out.println("+===+===+");
                    }
                } System.out.println();
            }
        }
final int BLOCK_SIZE=2;

对于(int i=0;i需要一些时间才能达到您的预期结果,看看它是否适合您

public class Homework
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
            for (int line = 1; line <= 3; line ++)
            {

                NEWLINE:

                    for (int plus = 1; plus <= 3; plus++)
                    {
                        System.out.print("+");
                        if (plus == 3) 
                        {
                            for (int k = 1; k <= 3; k++)
                            {
                                if (line == 3)
                                {
                                    break NEWLINE;
                                }
                                System.out.println("");
                                System.out.print(" |         |          |");
                                if (k == 3)
                                {
                                    System.out.println();
                                    break NEWLINE;
                                }
                            }
                        }

                        for (int eq = 1; eq <= 6; eq++)
                        {
                            if (eq % 4 == 0)
                            {                           
                                break;
                            }
                            System.out.print("=");
                        }

                    }
            }
    }
}
公共课堂作业
{
/**
*@param args
*/
公共静态void main(字符串[]args)
{

对于(int line=1;line需要一些时间才能达到您的预期结果,看看它是否适合您

public class Homework
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
            for (int line = 1; line <= 3; line ++)
            {

                NEWLINE:

                    for (int plus = 1; plus <= 3; plus++)
                    {
                        System.out.print("+");
                        if (plus == 3) 
                        {
                            for (int k = 1; k <= 3; k++)
                            {
                                if (line == 3)
                                {
                                    break NEWLINE;
                                }
                                System.out.println("");
                                System.out.print(" |         |          |");
                                if (k == 3)
                                {
                                    System.out.println();
                                    break NEWLINE;
                                }
                            }
                        }

                        for (int eq = 1; eq <= 6; eq++)
                        {
                            if (eq % 4 == 0)
                            {                           
                                break;
                            }
                            System.out.print("=");
                        }

                    }
            }
    }
}
公共课堂作业
{
/**
*@param args
*/
公共静态void main(字符串[]args)
{

对于(int line=1;line,我在进行随机提问时发现没有人通过更正您发布的代码来正确回答。因此,我在这里发布了带有嵌套for循环的代码,它满足您的所有条件,并给出了正确的输出

int BLOCK_SIZE = 4;
for (int i=1; i<BLOCK_SIZE; i++){
    for(int j=1; j<BLOCK_SIZE; j++){
        System.out.print("+===");
    }
    System.out.println("+");
    for(int k=0; k<3; k++){
        for(int j=1; j<BLOCK_SIZE; j++){
            System.out.print("|   ");
        }
        System.out.println("|");
    }
}
for(int j=1; j<BLOCK_SIZE; j++){
        System.out.print("+===");
    }
System.out.println("+");
int BLOCK_SIZE=4;

对于(int i=1;i我在随机询问,通过更正您发布的代码,我发现实际上没有人回答正确。因此,我在这里发布了带有嵌套for循环的代码,它满足您的所有条件,并给出了正确的输出

int BLOCK_SIZE = 4;
for (int i=1; i<BLOCK_SIZE; i++){
    for(int j=1; j<BLOCK_SIZE; j++){
        System.out.print("+===");
    }
    System.out.println("+");
    for(int k=0; k<3; k++){
        for(int j=1; j<BLOCK_SIZE; j++){
            System.out.print("|   ");
        }
        System.out.println("|");
    }
}
for(int j=1; j<BLOCK_SIZE; j++){
        System.out.print("+===");
    }
System.out.println("+");
int BLOCK_SIZE=4;
对于(int i=1;i
公共类窗口{
公共静态最终整数大小=3;
公共静态void main(字符串[]args){
对于(int p=1;p
公共类窗口{
公共静态最终整数大小=3;
公共静态void main(字符串[]args){
对于(int p=1;p这是最简单的方法

public class Window {
    public static final int size = 3;

    public static void main(String[] args) {
        for (int x=0; x<2; x++) {
            for (int y = 0; y<2; y++){
                System.out.print("+");
                for (int z=0;z<size; z++) {
                    System.out.print("=");
                }
            }
            System.out.println("+");
            for (int i = 0; i<size; i ++) {
                for (int j = 0; j<2; j++) {
                    System.out.print("|");
                    for (int k = 0; k<size; k++) {
                        System.out.print(" ");
                    }
                }
                System.out.println("|");
            }
        }
         for (int y = 0; y<2; y++){
                System.out.print("+");
                for (int z=0;z<size; z++) {
                    System.out.print("=");
                }
            }
        System.out.println("+");
    }
}
公共类窗口{
公共静态最终整数大小=3;
公共静态void main(字符串[]args){
对于(intx=0;x这是最简单的方法

public class Window {
    public static final int size = 3;

    public static void main(String[] args) {
        for (int x=0; x<2; x++) {
            for (int y = 0; y<2; y++){
                System.out.print("+");
                for (int z=0;z<size; z++) {
                    System.out.print("=");
                }
            }
            System.out.println("+");
            for (int i = 0; i<size; i ++) {
                for (int j = 0; j<2; j++) {
                    System.out.print("|");
                    for (int k = 0; k<size; k++) {
                        System.out.print(" ");
                    }
                }
                System.out.println("|");
            }
        }
         for (int y = 0; y<2; y++){
                System.out.print("+");
                for (int z=0;z<size; z++) {
                    System.out.print("=");
                }
            }
        System.out.println("+");
    }
}
公共类窗口{
公共静态最终整数大小=3;
公共静态void main(字符串[]args){

对于(int x=0;xIs这是家庭作业?你尝试过什么?是的,我有几个想法。你有什么想法?这是一个愚蠢的家庭作业。这什么时候有用?我认为你的老师一定要找到更好的例子/练习来教嵌套循环。这一个太奇怪/没用了…@Thorbjørnravandersen我认为这种练习没有实际用途。这是家庭作业吗?你尝试过什么?是的,我有几个想法。你有什么想法?这是一个愚蠢的家庭作业。这什么时候有用?我认为你的老师一定要找到教嵌套循环的更好的例子/练习。这一个太简单了奇怪/无用…@Thorbjørnravandersen我认为这种练习没有实际用途。我写道“我必须使用嵌套for循环打印图形的重复部分”您需要为此使用一个条件语句来区分要显示的行的类型。我更新了代码。更好的做法是只使用1个
if
语句。非常愚蠢的作业:您可以用for替换任何if(例如,
if(I%4!=0)
for(int cnt=0;cnt<1&&I%4!=0;cnt++)
…所以