java - 我怎样才能让我的输出反向读取我的二进制数?

标签 java

首先,我想输入任何数字并以二进制形式输出该数字。但是,我的问题是,每当我输入号码时,它都会向后读取。

例如:

         input: 14
         binary number:0111

我想要的是

         input: 14
         binary number:1110

这是我的代码:

package poro;
import java.util.Scanner;

public class Poro {

    public static void main(String[] args) {
        {
        Scanner s = new Scanner(System.in);
        int z;
        int a;
        String x = "";
        System.out.print("input:");
        z = s.nextInt();
        while(z > 0)
        {
            a = z % 2;
            if(a == 1)

            {

            }
            x = x + "" + a;
            z = z / 2;

        }
        System.out.println("Binary number:"+x);

    }

}}

最佳答案

x = x + "" + a;

由于这会附加新数字,因此 MSB 将始终位于输出的右侧。您需要在前面添加新数字:

x = a + x;

或者,

x = Integer.toBinaryString(z);

一次性完成这一切。

关于java - 我怎样才能让我的输出反向读取我的二进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52898808/

相关文章:

java - HashMap 到 Java 类对象

java - ReentrantLock 替代 CountdownLatch

java - Jersey:返回 204 状态而不是 500

java - 我需要解析字符串并提取信息以输入数据库

java - 检查特殊字符和空格

java.lang.IllegalArgumentException : json string can not be null or empty

java - 如何从一个div下的不同元素中获取所有文本

java - 在 Eclipse 中,Junit 不会从 src/test/resources 文件夹中获取文件。

java - 是否可以在 Java gui Canvas 上绘图并跟踪鼠标在 Canvas 上绘制的内容?

java - 没有主要 list 属性(Heroku 部署)