Java 我的循环没有执行特定的迭代

Java 我的循环没有执行特定的迭代,java,eclipse,loops,Java,Eclipse,Loops,我的循环正在跳过第二次迭代1 2 1: 代码如下: public static void main(String[] args) { System.out.println("enten number"); Scanner sc= new Scanner(System.in); int a= sc.nextInt(); for(int i=1;i<=a;i++) { int k=1; for(int j=1;j<=a-i

我的循环正在跳过第二次迭代
1 2 1

代码如下:

public static void main(String[] args) {
    System.out.println("enten number");
    Scanner sc= new Scanner(System.in);
    int a= sc.nextInt();
    for(int i=1;i<=a;i++) {
        int k=1;
        for(int j=1;j<=a-i;j++) {
            System. out. print ("  ");
        }
        for(int j=1;j<=2*i-1;j++) {
            if(j<=i) {
                System.out.print(k+++" ");}
            else {
                while(k>=1)
                    System.out.print(k--+" ");
            }

        }System.out.println();
    }
}
publicstaticvoidmain(字符串[]args){
系统输出打印号(“enten编号”);
扫描仪sc=新的扫描仪(System.in);
int a=sc.nextInt();
for(int i=1;i在第三个for循环中,替换if语句
if(j这与答案相同,但我修复了格式问题。
添加了一个名为
r
的单独控制变量,用于打印空格数

 public static void main( String[] args ) {
            System.out.println( "enten number" );
            Scanner sc = new Scanner( System.in );
            int a = sc.nextInt();
            int r = a * 2 - 1;
            for ( int i = 1; i <= a; i++ ) {
                int k = 1;
                for ( int j = 1; j <= r - i; j++ ) {
                    System.out.print( " " );
                }
                for ( int j = 1; j <= 2 * i - 1; j++ ) {
                    if ( j < i ) {
                        System.out.print( k++ + " " );
                    }
                    else {
                        System.out.print( k-- + " " );
                    }

                }
                System.out.println();
                r = r - 1;
            }
        }

请以文本形式而不是图像形式发布代码(您的问题)。您是否使用Debbuger进行了演示?@TiiJ7告诉提问者不要以图像形式发布代码,您可能会以文本形式发布一个问题的代码;这样做的话,OCR将……;)这将打印正确的顺序,但会影响格式。格式有点不正确
 public static void main( String[] args ) {
            System.out.println( "enten number" );
            Scanner sc = new Scanner( System.in );
            int a = sc.nextInt();
            int r = a * 2 - 1;
            for ( int i = 1; i <= a; i++ ) {
                int k = 1;
                for ( int j = 1; j <= r - i; j++ ) {
                    System.out.print( " " );
                }
                for ( int j = 1; j <= 2 * i - 1; j++ ) {
                    if ( j < i ) {
                        System.out.print( k++ + " " );
                    }
                    else {
                        System.out.print( k-- + " " );
                    }

                }
                System.out.println();
                r = r - 1;
            }
        }
            1 
          1 2 1 
        1 2 3 2 1 
      1 2 3 4 3 2 1 
    1 2 3 4 5 4 3 2 1 
  1 2 3 4 5 6 5 4 3 2 1 
1 2 3 4 5 6 7 6 5 4 3 2 1