2017-02-17 3 views
0

мне нужен этот выходНужна большее количество пробелов перед каждой строкой

5 
4  
    3 
    2 
    1 
    0 

Кодекса у меня есть:

public static void outputEleven() 
{ 
    System.out.println(""); 
    for(int x=5; x>=0; x--) 
    { 
     System.out.println(x); 
     for(int s=0; s<=5; s++) 
     { 
      System.out.print(" "); 
     } 
    } 

} 

Выход я получаю:

5 
     4 
     3 
     2 
     1 
     0 

Почему я получаю этот выход? Как я могу получить желаемый результат?

+0

'для (целое с = 0; s < = (5-x); s ++) '? – AntonH

+0

Это сработало. Это была очень простая ошибка с моей стороны. Спасибо! – DPabst

+1

Добро пожаловать. Бит предупреждения, хотя, если у вас есть логика, он напечатает пустую строку пробелов после того, как будет напечатан последний номер. Вы можете избежать этого, имея цикл пробела перед циклом печати, вы должны иметь возможность заставить его работать без особых изменений. – AntonH

ответ

2

В вашей внутренней петле вы хотите напечатать i пробелов перед печатью значения. Нечто подобное,

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

выходы (по запросу)

5 
4 
    3 
    2 
    1 
    0 

Альтернативно, за тот же выход, отсчитывается как

for (int x = 5; x >= 0; x--) { 
    for (int s = 0; s < 5 - x; s++) { 
     System.out.print(" "); 
    } 
    System.out.println(x); 
} 
+0

Больше циклов приводит к большей сложности, может быть лучше сделано с использованием System.out.format. –