2016-10-21 2 views
-3

Я пытаюсь System.out.print() алмаз из *. До сих пор я потратил хорошие 5 часов на попытку выяснить, как отменить печать нижнего треугольника алмаза. Я могу беспокоиться о расстоянии, чтобы закончить алмаз позже. (Я работал, по большей части).Печать бриллиантов от * *

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

private static void diamond() 
    { 
     int numLines = 0; 
     System.out.println("How many lines would you like in the Diamond?"); 
     numLines = scan.nextInt(); 

     if (numLines/2 == 0) //if number is even, make odd. 
     { 
      numLines++; 
     } 
     for(int i = 0; i <= numLines ; i++) // Controls #Lines 
     { 
      if(i <= numLines/2) 
      { 
       for(int j = 0; j < i * 2 - 1; j++) // Controls #Stars small upright triangle 
       { 
        System.out.print("*"); 
       } 
      } 
      else 
      { 
       for(int k = numLines; k > i/2; k--) // Controls # of spaces 
       { 
        System.out.print("*"); 
       } 
       /*for(int j = numLines/2 - i, l = i; l > j; j++) // Controls #Stars small upright triangle 
       { 
        String stars = "*"; 
        System.out.print(stars); 
       }*/ 
      } 
      System.out.println(""); 
     } 
    } 

`

+0

Где код? – Paulo

+0

DurzoBlunt для четного использования числа% вместо/(((4/2 = 2)! = 0), ((4% 2) = 0)) , пожалуйста, напишите свой ожидаемый результат для примера :) – RobertS

+0

Отправьте свой код так мы можем видеть. –

ответ

0

Что происходит с вашей попытки, что вы цикл через половину (линий) вашего алмаза [числа линий в секунду/первая половина] раз.

Вы хотели бы сделать Условный оператор каждый цикл, не является ли и в течение каждого цикла

0

Возможно, вы хотите, чтобы это

Просто настроить его для пользовательского ввода значений

public static void main(String[] args) { 
     System.out.print("Reverse diamond: \n"); 
     for (int i = 1; i < 10; i += 2) { 
      for (int j = 0; j < 9 - i/2; j++) 
      System.out.print(" "); 

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

      System.out.print("\n"); 
     } 
     System.out.print("\n\nDiamond from starts: \n"); 
     for (int i = 7; i > 0; i -= 2) { 
      for (int j = 0; j < 9 - i/2; j++) 
      System.out.print(" "); 

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

      System.out.print("\n"); 
     } 
} 

выход:

enter image description here

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