首页 > 解决方案 > 我的循环没有执行特定的迭代

问题描述

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();
    }
}

标签: javaeclipseloops

解决方案


在第三个for循环中,将if语句if(j<=i)替换为if(j<i)

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();
    }
}

推荐阅读