pomoc w zadaniu lvl beginner ;)

0

Cześć,

chcę rozwiązać zadanie:
Napisz program, w którym po podaniu liczby n narysujesz za pomocą * (gwiazdki) drzewko choinkowe o wysokości n = 5, prośba o pomoc co zapisałem źle:

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

        int n = 5;

        for(int i = 1; i <= n; i++) {
            for(int j = 1; j <= n - 1; j++) {
                System.out.print(" ");
            }
            for(int j = 1; j <= i; j++) {
                    System.out.print("*");
                }
            for(int k = 1; k <= i; k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

z góry dzięki za pomoc :)

6

-1 for. O to chodzilo panie kierowniku?

import java.util.Scanner;
  
public class Zadanie9 {
    public static void main(String[] args) {
        Scanner n = new Scanner(System.in);
        System.out.println("Enter the height of Weihnachtsbaum ");
        int height = n.nextInt();
  
  
        for (int i = 1; i<=height; i++)
        {
            for(int j=0;j<height-i;j++)System.out.print(" ");
            for (int j = 0; j<(i*2)-1; j++)System.out.print("*");
            System.out.println(" ");
        }
  
    }
}
0

Tak, ogromne dzięki za pomoc :)

5

@p_agon: za mało streamów więc dla początkującego może być nieczytelne:

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

        IntStream.range(0, 5)
                .mapToObj(
                        line ->
                            Stream.concat(
                                    Stream.generate(() -> " ").limit(height-1-line),
                                    Stream.generate(() -> "*").limit(1+2*line)
                            ).collect(Collectors.joining())
                ).forEach(System.out::println);
    }
}

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