использование for-циклов в Java - PullRequest
0 голосов
/ 13 октября 2018

Я застрял с домашней работой (я начинающий), где результат должен быть квадрат с диагоналями (составленными из звезд) , остальные составлены из знаков минус.Сторона квадрата определяется пользовательским вводом, который должен быть odd number >=1 (здесь используется сканер).

Следует использовать только операторы for- loops и if.

С моим кодом мне удается получить только одну диагональ.Что я делаю не так?

    Scanner sc = new Scanner(System.in); 
    int laenge=0;
    do {
    System.out.printf(": ");
    laenge =sc.nextInt(); 
    }while(laenge%2 == 0);


    for(int i=1;i<=laenge;i++){
        for (int j=1; j<=laenge; j++) {
            if (i==j)
                System.out.print("*");
            else
                System.out.print("-");
        }
        for (int j=laenge;j<=1; j--) {
            if (i==j)
                System.out.print("*");
            else
                System.out.print("-");
        }

        System.out.println();
        }       

    sc.close();

1 Ответ

0 голосов
/ 13 октября 2018
   for(int i=1;i<=laenge;i++){

        for (int j=1; j<=laenge; j++) {

            if (i==j||(i+j)==(laenge+1))
                System.out.print("*");
            else
                System.out.print("-");
        }

Вам просто нужно сделать это.Для первой диагонали (i == j), для второго диагноза сумма i & j будет равна (laenge + 1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...