问题描述
编写递归函数,实现将一个十进制的正整数以二进制的形式输出。
注:不考虑符号位,仅从二进制数不为0的最高位开始输出。
输入格式
一个十进制正整数
输出格式
该整数对应的二进制数
样例输入
一个满足题目要求的输入范例。
例:
96
样例输出
与上面的样例输入对应的输出。
例:
1100000
解释:substring:截取字符串
两种用法:
①public String substring(int beginIndex)
截取从beginIndex开始到最后的字符串
②public String substring(int beginIndex, int endIndex)
截取从beginIndex开始到endIndex-1的字符串
import java.util.Scanner;
public class 十进制转2进制输出 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n =sc.nextInt();
String a = Integer.toBinaryString(n);//把十进制转化成二进制
for(int i=0;i<a.length();i++) {//把二进制的每个数逐个取出
if(a.charAt(i)!='0') //如果不等于0,输出。结束
{
System.out.println(a);
break;
}
else {
a.substring(1,a.length());//截取他后面的字符串继续看是否不等于0
}
}
}
}