Q:

Why is the while loop not printing?

Trying to print this pattern
       *
      ***
     *****
    *******

the for and the while loop is somehow not working in the right manner.
Is there any problem with the logic?
       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();
           }

       }

A:

The first for loop is incorrect:
for(int i=1;i>=4;i++)

This code says, set i to 1, while i is greater than or equal to four, increment i. Since i is 1, the condition never passes.
Btw using an IDE will help you spot errors like this, for example here's what intellij has to say about this piece of code:

