2015-01-02 3 views
-2
for x = 0 to 9 
set stars = "*" 
set count = 0 
while count < x 
stars = stars + "*" 
count = count + 1 
endwhile 
display stars 
endfor 

Это псевдокод и это то, что я сделал до сих порпсевдокод переводчик: Java, а

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

мне нужен этот код, чтобы изменить таким образом он использует ОБА в FOR и WHILE, но я может управлять только FOR.

ответ

0
 for (int i = 0; i < 9; i++) 
     { 
      String stars = ""; 
      int count = 0; 
      while (count < i) 
      { 
       stars += "*"; 
       count++; 
      } 
      System.out.println(stars); 
     } 
+0

это дает мне эту ошибку Обратная связь: Там, кажется, не правильный номер линий в вашем выходе. Возможно, ваши петли не совсем правильные ... Извините! Ваша работа прошла только 2 из 3 тестов и не является правильным решением упражнения. – Duicug

+0

попробуйте отредактировать решение ... –

0

В соответствии с вашим псевдо-код:

set count = 0 
while count < x 
    stars = stars + "*" 
    count = count + 1 

вы можете изменить свой внутренний цикл из:

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

в:

int k = 0; 
while (k <= i) { 
    System.out.print("* "); 
    k++; 
} 
2

Любой для контура может записываться как цикл while, просто перемещайте компоненты:

for (init; check; update) { 
    body... 
} 

init; 
while (check) { 
    body... 
    update; 
} 
0

Для выше кода SUDO вы можете иметь следующий код Java

String star = '*'; 
int count =0; 

for(int x =0; x < 9; x++) 
{ 
    count =0; 
    while(count < x) 
    { 
    star += star; 
    count++; 
    } 
    System.out.println(star); 
} 

}

0

for и while могут быть легко преобразованы друг с другом, если вы знаете, что :

for (a;b;c) { 
    d; 
} 

на самом деле (в основном) означает

a; 
while(b) { 
    d; 
    c; 
} 

Просто напоминание, в коде псевдо for x = 0 to 9 фактически означает for (x = 0; x < 10; x++)

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