java - 如何反转 while 循环生成的一系列数字的顺序?

标签 java loops while-loop binary reverse

我有一些代码可以将十进制转换为二进制,但是使用我这里的转换方法,数字将以正确二进制的相反顺序打印。如何在不更改转换方法或删除 while 循环的情况下反转得到的结果?我正在考虑在循环内创建一个数组,然后创建一个 for 循环,它将以相反的顺序打印出数字,但我不知道如何使用 Java 来做到这一点。

    System.out.println("Enter a number: ");
    int num = user.nextInt();

    while (num > 0) {
        int remainder = num % 2;
        num = num / 2;

         if(remainder > 0) {
             System.out.print("1");
         }else if (remainder == 0) {
            System.out.print("0");
         }else {

         }
    }

最佳答案

最简单的事情就是直接构建字符串:

String result = "";
while (num > 0) {
    if (num % 2 == 0)
        result = "0" + result;
    else
        result = "1" + result;
    num /= 2;
}
System.out.println(result);

关于java - 如何反转 while 循环生成的一系列数字的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48876795/

相关文章:

java - Swing:旋转风格化文本?

c - 为什么 getchar() 函数不循环?

javascript - 迭代有效 JSON 时无法将 undefined 或 null 转换为对象

c - 中断在 recv() 循环 linux c 中不起作用

java - 使用 charAt 和 while 循环 Java 查找字符串中的字母

python - 尝试除了递归或 while 循环?

java - 查找具有重复模式的重复模式

java - 为什么图像没有显示在imageItem中?

java - 为 MongoDB 淘汰 Hibernate/Mysql 或为 Java/Spring/Tomcat Web 应用程序淘汰 Couch

variables - sed 在读取行时替换变量