java中十进制到二进制的转换

java中十进制到二进制的转换,java,binary,decimal,digits,Java,Binary,Decimal,Digits,我试图使用Java将用户输入的十进制数转换为二进制数,但到目前为止,我遇到了一些错误,我不知道为什么。我做错了什么?不介意命名,最终我想将十进制转换为二进制,而不使用if和while语句。也不使用十进制二进制字符串 非常感谢 包r public static void main(String[] args) { int number; int remainder; Scanner in = new Scanner(System.in); System.out.println("Enter a

我试图使用Java将用户输入的十进制数转换为二进制数,但到目前为止,我遇到了一些错误,我不知道为什么。我做错了什么?不介意命名,最终我想将十进制转换为二进制,而不使用if和while语句。也不使用十进制二进制字符串

非常感谢

包r

public static void main(String[] args) {
int number; 
int remainder;
Scanner in = new Scanner(System.in);

System.out.println("Enter a positive integer");
number=in.nextInt();
remainder= number %2; 
System.out.print(remainder);

{ 
return null;
这就是我目前所拥有的

试试这个:

String binaryString = Long.toBinaryString(Double.doubleToRawLongBits(yourDecimalNumber));
其中,
yourDecimalNumber
是要转换为二进制的十进制变量的名称

也可以使用for循环和按位操作,而不使用任何if或while语句,如:

int number = 10;
String binaryString = "";
final int intBitSize = 32; // 32 is the number of bits in an int.

for(int i=0; i<intBitSize; i++)
{
    binaryString = String.valueOf(number&1) + binaryString;

    number = number >>> 1;
}

System.out.println(binaryString);
int number=10;
字符串binaryString=“”;
最终整数intBitSize=32;//32是整数中的位数。
对于(int i=0;i>>1;
}
System.out.println(二进制字符串);

这是如何将十进制转换为二进制:

使用for循环:

public class DecimalToBinary {

    public void printBinaryFormat(int decimalNumber){
    int remainder = 0;
    for (int i = 1; decimalNumber > 0; i++) {

        remainder = decimalNumber % 2;    
                decimalNumber /= 2;
                System.out.print(remainder);
            }
        }

    public static void main(String a[]){
        DecimalToBinary dtb = new DecimalToBinary();
        dtb.printBinaryFormat(25);
    }
}
使用while循环:

public class DecimalToBinary 
{

    public void printBinaryFormat(int number){
        int binary[] = new int[25];
        int index = 0;
        while(number > 0){
            binary[index++] = number%2;
            number = number/2;
        }
        for(int i = index-1;i >= 0;i--){
            System.out.print(binary[i]);
        }
    }

    public static void main(String a[]){
        DecimalToBinary dtb = new DecimalToBinary();
        dtb.printBinaryFormat(25);
    }
}
希望我能帮忙


快乐编码:D

我不明白你为什么不想使用if和while语句?我还没有学习if和while语句。我做这个是为了做作业,这是最后一个问题,给我带来了最大的麻烦。所以你想只使用for循环将十进制转换为二进制???你可以通过使用递归概念来实现这一点e参考下面的内容,看起来是一样的:这会起作用,但我不能使用一个字符串将十进制数转换成二进制。我可以使用for循环来获取余数,而不是使用字符串将其转换为二进制数。好的,无论如何,我会把这个答案留在这里,以防它对其他人有用。我花了三个多小时试图弄清楚这个问题问题,到目前为止我什么也没有得到(if和while语句非常严格,可能比for循环更容易理解。我认为使用for循环的唯一方法是使用位运算,这比使用if和while语句复杂得多。@AtifShah看到我更新的答案,它使用for循环,而不使用任何if或while语句作为请求。)这将转换为二进制整数,而不是十进制数。