#java #do-while
#java #do-while
Вопрос:
Как мне изменить свой код, чтобы последняя распечатка была пустой печатью вместо ‘ ‘?
На основе заданного числа x в runLoop(x)
, код выводит » » в строке.
Например runLoop(5)
, печатает ' '
, после этого я хочу получить пустую печать, но в итоге получаю » «.
РЕДАКТИРОВАТЬ: я думаю, это потому, что программа запускает «do» перед проверкой «while». Сначала программа запускает runLoop (5), поэтому она ожидает, что результат будет » «, во второй раз она запускает runLoop (0), поэтому программа ожидает получить пустую строку, вместо этого она получает » «. То, что я пытаюсь сделать, это получить пустую строку вместо » «.
public static void runLoop(int x){
do {
System.out.print(" ");
x--;
}while ( x > 0);
System.out.println("");
}
Комментарии:
1. Что вы имеете в виду под «пустой печатью»?
2. Как вы увидите
""
?3. Вы можете остановить цикл с
break
помощью ключевого слова. Если это то, что вы ищете.
Ответ №1:
Я не думаю, что это хорошо, пока проблема
public static void runLoop(int x){
string token = ""
do {
System.out.print(token);
x--;
token = " "
}while ( x >= 0);
System.out.println("");
}
public static void runLoop(int x){
if(x < 1){
System.out.println("");
return;
}
do {
System.out.print(" ");
x--;
}while ( x > 0);
System.out.println("");
}
Ответ №2:
Я не уверен, что понял ваш вопрос. Но если вы хотите, чтобы последний вывод был другим, просто сделайте while равным be x=>0
и распечатайте что-нибудь после
public static void runLoop(int x){
do {
System.out.print(" ");
x--;
}while ( x >= 0);
System.out.println("");
//you can print what you need after the while loop
//System.out.println("");
}
Комментарии:
1. Я пробовал, не сработало. Я думаю, это потому, что программа запускает «do» перед проверкой «while». Сначала программа запускает runLoop (5), поэтому она ожидает, что результат будет » «, во второй раз она запускает runLoop (0), поэтому программа ожидает получить пустую строку, вместо этого она получает » «. То, что я пытаюсь сделать, это получить пустую строку вместо » «.
Ответ №3:
Кажется, я не могу воспроизвести ошибку, которую вы описываете, с помощью предоставленного вами кода. Вы уверены, что вне метода нет печати ?
Почему бы не развернуть его и просто распечатать последний с разрывом строки?
private static void loop(int x) {
while ( x > 1) {
System.out.print(" ");
x--;
}
System.out.println(" ");
}
Комментарии:
1. Я сделал это в своем последнем упражнении, теперь они запрашивают цикл «do while» 🙂