java用递归求十进制转二进制
时间: 2024-09-29 19:14:09 浏览: 36
在Java中,可以使用递归的方式来将十进制数转换为二进制字符串。递归的基本思路是不断除以2并将余数添加到结果的开头,直到商为0为止。下面是一个简单的示例函数:
```java
public class Main {
public static String decimalToBinary(int n) {
if (n == 0) { // 递归结束条件
return "0";
} else {
// 获取当前数字的最低位,然后将其余数添加到结果前
return decimalToBinary(n / 2) + Integer.toBinaryString(n % 2);
}
}
public static void main(String[] args) {
int decimal = 10; // 要转换的十进制数
System.out.println("二进制表示为: " + decimalToBinary(decimal));
}
}
```
当你运行这个程序,传入`decimalToBinary`函数一个十进制数如10,它会返回对应的二进制字符串"1010"。
相关问题
java递归十进制转二进制
在Java中,你可以使用递归的方式来将十进制数转换成二进制。递归是一种函数自身调用的技术,对于这种问题,我们可以一步步地除以2,直到商为0。每次除法后,余数就是二进制数对应位置的位。以下是简单的递归函数示例:
```java
public class DecimalToBinary {
public static String decimalToBinary(int num) {
if (num == 0) { // 当数字变为0,表示已经得到二进制的所有位
return "0";
} else {
return decimalToBinary(num / 2) + Integer.toBinaryString(num % 2); // 递归调用并拼接结果
}
}
public static void main(String[] args) {
int decimal = 15;
System.out.println("二进制表示为:" + decimalToBinary(decimal));
}
}
```
在这个例子中,`decimalToBinary`函数接受一个整数作为输入,如果该数为0,则返回"0";否则,它会继续调用自身处理`num / 2`的部分,并加上`num % 2`(取模运算的结果)转换后的二进制字符。
用Java递归调用打印十进制整数的二进制。
可以使用递归的方式来实现将一个十进制整数转换成二进制数的功能。具体实现如下:
```java
public class DecimalToBinary {
public static void main(String[] args) {
int decimal = 10;
System.out.println("十进制数 " + decimal + " 的二进制表示为:");
decimalToBinary(decimal);
}
public static void decimalToBinary(int decimal) {
if (decimal > 0) {
decimalToBinary(decimal / 2);
System.out.print(decimal % 2);
}
}
}
```
这段代码会将十进制整数10转换成二进制数1010,并输出到控制台上。
阅读全文