为什么我的Java程序无法正常创建三角形图案?

时间:2018-07-27 19:39:38

标签: java

package prac1;

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

        for(int i=0; i<4 ;i++) {
            //block of code
            for(int j=0; j<3-i; j++) {
                System.out.print("-");
            }
            for(int k=0; k<i+k; k++) {
                System.out.print("1");
            }
            for(int j=0; j<3-i; j++) {
                System.out.print("-");
            }

            System.out.print("\n");
        }
    }
}
/**
---1---
--111--
-11111-
1111111
*/

1 个答案:

答案 0 :(得分:2)

由于下面的无限循环,您的代码无法正常工作,在下面的循环k<i+k中永远不会终止条件。

 for(int k=0; k<i+k; k++) 
  {
      System.out.print("1");
  }

您可以将其更改为

for(int k=0; k<=2*i; k++)
   {
     System.out.print("1");
   }

这里是正确的代码

public static void main(String []args){
        for(int i=0; i<4 ;i++) {
            //block of code
            for(int j=0; j<3-i; j++) {
                System.out.print("-");
            }
            for(int k=0; k<=2*i; k++) {
                System.out.print("1");
            }
            for(int j=0; j<3-i; j++) {
                System.out.print("-");
            }

            System.out.print("\n");
        }
     }