Проблема практики вложенных циклов в Java - PullRequest
0 голосов
/ 07 ноября 2019

Мне нужно написать программу в Eclipse, которая отображает «*» в строке из семи, а затем снимает по одной с каждой строки, также используя вложенные циклы.

Я пробовал использовать примеры, предоставленные учителеми затем адаптировать его для использования "*".

Это код, который я пытался использовать

public class ForWhileLoopsPractice {

    public static void main(String[] args) {

        int rows = 7;
        int asterisk = '*';

        for(int i = asterisk; i <= rows; i++ ) {
            for(int j = asterisk; j >= i; j--) {
                System.out.print(j + " ");
            }
            System.out.println(" ");
        }
    }
}

Это просто автоматически завершается, и я не думаю, что это дажедвигайтесь в правильном направлении, если это работает.

Конечный результат должен выглядеть следующим образом:

"*******"
"******"
"*****"
"****"
"***"
"**"
"*"

без кавычек вокруг каждого и только звездочки, но я не смог произвести что-либо близкое кэто.

Спасибо за всю помощь до сих пор. Теперь мой код выглядит так:

int rows = 7;

    for(int i = 0; i < rows; i++ ) 
    {
        for(int j = 0; j < rows; j++) 
        {
           System.out.print("*");
        }
        System.out.println("*");
    }

Вывод теперь

********
********
********
********
********
********
********

Мне просто нужно найти способ вычесть по одному из каждой строки.

Спасибо@ an3rror, решение закончилось тем, что

int rows = 7;
    int columns = 7;
    for(int i = 0; i < rows; i++ )
    {
        for(int j = 0; j < columns; j++)
        {
           System.out.print("*");

        }
        System.out.println();
        columns--;
    }

Спасибо всем, кто ответил за то, что дал мне советы, не просто прямо сказал ответ и объяснил, что было каждой вещью и почему это было так.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

Вы можете установить значение «строк» ​​при назначении для индекса цикла;

пример и уравнение ниже:

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

Более простая версия, и я надеюсь, что это помогло.

0 голосов
/ 07 ноября 2019
    int rows = 7;
    int numOfChars = 7;


    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < numOfChars; j++) {
            System.out.print("*");
        }
        System.out.println();
        numOfChars--;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...