我正在尝试使用Java从用户的输入转换十进制到二进制数,但到目前为止,我遇到了错误,我不知道为什么。我究竟做错了什么?不介意命名,最终我想在不使用if和while语句的情况下将十进制转换为二进制。也没有使用decimaltobinary字符串。
非常感谢。
包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;
这是我到目前为止所拥有的。
答案 0 :(得分:0)
试试这个:
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);
答案 1 :(得分:0)
这是将十进制转换为二进制的方法:
使用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