Napisz program rysujący na podstawie wartości zmiennej n następujący schemat

0

Witam.
Mam zadanie: napisz program rysujący na podstawie wartości zmiennej n następujący schemat:

* 2 3 4 5
* * 3 4 5
* * * 4 5
* * * * 5
* * * * *
* * * * *
* * * * 5
* * * 4 5
* * 3 4 5
* 2 3 4 5

Chciałbym zobaczyć Wasze rozwiązanie tego problemu. Ja napisałem coś takiego, ale coś czuję, że strasznie tutaj namieszałem.


public class Main11 {

    public static void main(String[] args) {
        int n = 5;

        for (int i = 1, q = 1 - n; i <= 2*n; i++, q++) {
            String row = "";
            if (i <= n) {
                for (int j = 1; j <= n; j++) {
                    if (j <= i) {
                        row += "*";
                    } else {
                        row += j;
                    }
                }
            } else {
                row = "";
                for (int j = 5; j > 0; j--) {
                    if (j >= q) {
                        row += "*";
                    } else {
                        row += n-j+1;
                    }
                }
            }
            System.out.print(row + "\n");
        }
    }

}
1
        IntStream.concat(IntStream.rangeClosed(1, n), IntStream.iterate(n, i -> --i).limit(n))
            .mapToObj(i -> "* ".repeat(i) + IntStream.rangeClosed(i + 1, n).boxed().map(String::valueOf).collect(Collectors.joining(" ")))
            .forEach(System.out::println);
1

A coś bardziej na poziomie totalnie początkującego? :P

1

No dobra, to na przykład:

        for (int i = 0; i < n * 2 + 1; i++) {
            if (i != n) {
                int s = n - Math.abs(n - i) + 1; // liczba gwiazdek
                StringBuilder row = new StringBuilder("*".repeat(s));
                for (int j = s + 1; j <= n; j++) {
                    row.append(j);
                }
                System.out.println(row.toString());
            }
        }
0

Moja wina, że nie napisałem tego w poście głównym, przepraszam. To zadanie było z działu zagnieżdżonych pętli i w taki sposób powinno zostać zrobione. Bez żadnych dodatkowych metod. Same pętle i if.

1 użytkowników online, w tym zalogowanych: 0, gości: 1