为什么这些退格键不打印

问题描述 投票:0回答:1

我正在尝试使用以下代码获取给定整数的阶乘,但最终的\b未打印。为什么?

import java.util.*;

class Example {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        System.out.println("INPUT AN INTEGER");
        int num = input.nextInt();
        System.out.print(num + "!=");
        for(int i = num; i > 0; i = i - 1){
            System.out.print(i + "*");
        }
        System.out.print("\b");
    }
}
java backspace
1个回答
0
投票

不要这样做,不要生成文本。[[除非这是必需的。不要回溯,或者-在这种情况下,不要回溯after事实。

这应该起作用:

for (int i = num; i > 0; i--){ if (i != num) { print("*"); } System.out.print(i); }

还请注意使用i--而不是i = i - 1


[准备好前进时,可能需要先查看String.format()StringBuilder并在打印出来之前创建完整的字符串。
© www.soinside.com 2019 - 2024. All rights reserved.