为什么while循环不打印?

kak*_*757 -4 java logic

试图打印这种模式

       *
      ***
     *****
    *******
Run Code Online (Sandbox Code Playgroud)

for和while循环在某种程度上不能以正确的方式工作.这个逻辑有什么问题吗?

       public class Test {

           public static void main(String args[]) {
             for (int i = 1; i >= 4; i++) {
               for (int j = 1; j <= 7; j++) {
                 while (i + j >= 5 && (Math.abs(j - i)) <= 3) {
                   System.out.print("*");
                 }
                 System.out.print(" ");
               }
              System.out.println();
           }

       }
Run Code Online (Sandbox Code Playgroud)

Tom*_*set 5

第一个for循环不正确:

for(int i=1;i>=4;i++)
Run Code Online (Sandbox Code Playgroud)

此代码表示设置i为1,而i大于或等于4,则为增量i.从i1开始,条件永远不会过去.

顺便说一句,使用IDE可以帮助你发现这样的错误,例如这里是intellij对这段代码的评价:

在此输入图像描述