使用嵌套循环在java中创建模式

时间:2014-12-06 02:18:23

标签: java loops for-loop nested

我在查找java赋值中的最后一个模式时遇到了麻烦。我知道我很接近,但我无法弄清楚这是我的代码:

public static void main(String[]args){
    System.out.println("Pattern D:");
    for (int i = 6; i>=1; i--) { // row
        int x = 6; // Counter?
        for (int j = 1; j<=i; j++){ //column
            System.out.print("");
            x--;
        } 
        for(int k=1;k<=i;k++) {
            System.out.print(x);
        } 
        System.out.println();
    }
}

据我所知,外部循环是行,内部是列,但这不是我错的部分。我自己的模式是正确的,但不是数字的输出。 我不能把我的输出放在这里因为它不能正确格式化。但是如果你完全复制我的代码而不是0行,那么1,那么,2 ......等等,我试图在顶线获得1 2 3 4 5 6,然后是1 2 3 4 5,下一行等等......

4 个答案:

答案 0 :(得分:0)

你实际上非常接近正确的模式,你只是添加了太多。作为一般提示(并非总是,但大部分时间),在制作这些循环模式时,通常可以使用循环中的整数打印这些模式。我改变了你的代码,给你你想要的模式。你不需要x作为计数器,因为你可以使用你最深的嵌套循环的整数作为计数器,这在我如何调整你的代码是j,因为它将在第一次运行6次然后在第二次运行5次所以上。您添加的另一个额外部分是第3个嵌套循环。它基本上完成了与第二个循环完全相同的事情,因为它们都具有在小于i的情况下运行的条件。那么这里是代码;我希望我的解释有所帮助。

public static void main(String[]args){
    System.out.println("Pattern D:");
    for (int i = 6; i>=1; i--) { // row
        for (int j = 1; j<=i; j++){ //column
            System.out.print(j);
        }  System.out.println();
    }
}

答案 1 :(得分:0)

这是您的期望代码:

import java.util.*;
public class Test{
    public static void main(String[]args){
        System.out.println("Pattern D:");
        for(int i=6 ;i >= 1;i--){
            int k=i;
            for (int j=1 ;j<=k; j++){
                System.out.print(j);
            }
            System.out.println();
        }

   }
}

答案 2 :(得分:0)

原来我说过我之前想做的事情错了。我想对这种模式进行辩护,但这是我的解决方案。抱歉有任何困惑。

for (i=6;i>0;i--) {
            x=6;
            for (j=i;j<6;j++) {
                x--;
                System.out.print(" ");
            }
            for(k=1;k<=i;k++) {
            System.out.print(x--);
            }

            System.out.println(" ");
        }

答案 3 :(得分:0)

public class TestPattern {
    public static void main(String[] args) {

        for (int i = 6; i >= 1; i--) {
            for (int j = 1; j <= i; j++) {
                System.out.print(j);
            }
            System.out.println();
        }
    }
}

输出:

123456
12345
1234
123
12
1