Java рисунок внутри цикла for - PullRequest
1 голос
/ 29 мая 2020

Я новичок в мире программирования и в Джаваленде тоже. Я пытаюсь выучить l oop и с его помощью решить шаблон.

Я хочу нарисовать этот узор, используя l oop:

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

Я использую этот код для достижения этого:

public class PatterWithForLoop {

    public static void main(String args[]){
        for(int i = 0; i <= 5; i++){
            System.out.println("*" + "\n");
        }
    }
}

Но я только * в 15 строках, а не в шаблоне. Пожалуйста, кто-нибудь может помочь решить эту проблему здесь?

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 29 мая 2020

Если вы используете JDK 11, вы можете написать следующий код:

for(int i = 0; i < 5; i++) {
    System.out.println("*".repeat(i+1));
}

С помощью String.repeat () вы можете сделать то же самое с меньшим количеством кода.

2 голосов
/ 29 мая 2020

Ваш for-l oop кажется странным.

l oop следует читать так:

"Для int i, начиная с 0, l oop до тех пор, пока i<5 и после каждой итерации, выполните i++ "

for(int i = 0; i<5, i++){
   System.out.println("*" \n);
}

Это напечатает 5 строк:

*

*

*

*

*

теперь в каждой строке вам нужно еще одно *, и вы, возможно, захотите удалить \n, который уже включен в println. Поэтому вместо печати "*" вы создаете String перед l oop, и вы добавляете к нему один новый * на каждой итерации:

String line ="";             // we start with an empty string
for(int i=0; i<5; i++){      
   line= line+"*";           // before printing we add a new *
   System.out.println(line); // then we print it 
}

Это должно (не тестировалось) привести к следующему:

*
**
***
****
*****
1 голос
/ 29 мая 2020

Попробуйте этот код:

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

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