Как указано, функциональность различных выходных терминалов сильно различается. Имеются полноценные терминалы VT100, запросы командной строки Windows, представления в среде IDE et c. Так что backspace, вероятно, не поддерживается каждым из них.
Однако вы не должны генерировать текст , если это не требуется. Не возвращайтесь или - в этом случае - не возвращайте после факта. Это подверженный ошибкам процесс, и вы используете больше ресурсов памяти, сначала создав строку. Последнее не является проблемой для одного *
, но в целом вы стараетесь избегать использования ложной памяти.
Следующий код должен работать:
for (int i = num; i > 0; i--){
if (i != num) {
print("*");
}
System.out.print(i);
}
Также обратите внимание использование i--
вместо i = i - 1
.
Когда вы будете готовы продвинуться, вы можете взглянуть на String.format()
и StringBuilder
класс и создать полный строка до распечатки.
В принципе, вы, конечно, можете использовать подстроку для удаления последнего символа *
, если вы сначала создаете строку. Или вы можете удалить его из экземпляра StringBuilder
, если используете его.
Я бы все же предпочел бы не добавлять его в первую очередь и использовать приведенный выше код или небольшую модификацию его для построения всей строки.