Проблема в том, что вы не пытались отладить свой код. Для отладки вашего кода попробуйте распечатать переменные, которые вы используете в начале каждой строки, чтобы увидеть, соответствуют ли они вашим ожиданиям. Вы (надеюсь) подумали о коде, и что вы думаете , каждая переменная будет в каждой строке, так что вы что-то упустили, у вас есть ошибка.
Например, попробуйте это :
package practise;
import java.util.Scanner;
public class PatternsUsingLoop {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int j=1;j<=n;j++) {
System.out.print("j: " + j + " n: " + n);
for(int k=n;k>=1;k--) {
System.out.print("* ");
}
System.out.println();
}
}
}
Когда вы запустите, вы получите
j: 1 n: 5* * * * *
j: 2 n: 5* * * * *
j: 3 n: 5* * * * *
j: 4 n: 5* * * * *
j: 5 n: 5* * * * *
Что показывает то, на что указывает пара других ответов, что n не меняется, поэтому вывод всегда 5 звезды.
Теперь вы можете выяснить ответ. (Подсказка: начните j с 0 и используйте k = nj)