2016-10-24 2 views
0

Добрый день! Новичок в программировании на Java. Хотелось бы попросить некоторую помощь по пониманию цикла. Цель программы - напечатать прямоугольный треугольник. Я создал метод для печати «*», а другой для «» (пробел). У меня возникли проблемы с пониманием того, как я могу реализовать пробелы в моем основном методе. Спасибо!Печать с правосторонним треугольником по методам вызова

Ожидаемый результат:

"printTriangle(4);" 

    * 
    ** 
    *** 
    **** 

Вот мой код:

public class PrintingLikeBoss { 

public static void printStars(int amount) { 
    int i = 1; 

    while (i <= amount) { 
     System.out.print("*"); 
     i++; 
    } 
    System.out.println(""); 
} 

public static void printWhitespaces(int amount) { 
    int i = 1; 

    while (i <= amount) { 
     System.out.print(" "); 
     i++; 
    } 
    System.out.println(""); 
} 

public static void printTriangle(int size) { 

    int i = 1; 
    int j = 1; 
    while (i >= 0) { 
     printStars(size); 
     i++; 
     } 
    } 


    printTriangle(4); 
    } 
} 
+0

Возможный дубликат (HTTP : //stackoverflow.com/questions/14047583/printing-s-as-triangles-in-java) – DimaSan

ответ

1

printTriangle() Methode никогда не закончится из-за i всегда быть больше чем 0.

Также нет основной в вашем коде, поэтому вы не сможете его запустить.

Теперь для ответа на ваш вопрос:

public static void printTriangle(int size){ 
     int i = size; 
     int j = 1; 
     while(j<=i){ 
      printWhite(i-j); 
      printStar(j); 
      j++; 
      System.out.println(""); 
     } 
    } 

    public static void printWhite(int size){ 
     int i = size; 
     for(int j = 0; j<i; j++){ 
      System.out.print(" "); 
     } 
    } 

    public static void printStar(int size){ 
     int i = size; 
     for(int j = 0; j<i; j++){ 
      System.out.print("*"); 
     } 

    } 

    public static void main(String[] args){ 
    printTriangle(4); 
    } 

Это должно обеспечить вам выход, как это: [? Печать \ * S в виде треугольников в Java]

 * 
    ** 
    *** 
    **** 
+0

Почему вы устанавливаете i в размер? –

+0

@ Гилберт Ле Блан: Если у меня размер избыточный в этом случае, я согласен, можно просто использовать сам размер переменной. –

Смежные вопросы