我正在尝试做一个数字系统计算器,但仅使用控件或重复结构。这是我的示例:



int base = 0, given = 0, remainder = 0;
// input given here
System.out.print("The answer is: ");
if (base == 2){
    while(given != 0){
    remainder = given % base;
    given /= base;
    System.out.print("" + remainder);
    }
}




输出如下:



Input: 32
The answer is: 000001




问题是,由于二进制数32是100000而不是000001,我将如何将输出反转为100000?条件是除了三个重复结构:for,while和do-while之外,不要使用其他任何东西;使用决定性结构:if,else-if和for。

最佳答案

您可以将数字连接成String并在循环后打印:

String output = "";
if (base == 2){
    while(given != 0){
        remainder = given % base;
        given /= base;
        output = remainder + output;
    }
    System.out.println(output);
}

10-06 06:11