当然java有自带的方法:Integer.toBinaryString(int i);
下面是我自己的
第一种方法
import java.util.Scanner;
public class Calculator {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入要转换成二进制的数字:");
int z = input.nextInt();
String array[] = new String[z];
for (int i = 0;; i++) {
int x = z % 2;
if (z != 0) {
array[i] = "" + x;
} else if (z == 0) {
break;
}
z = z / 2;
}
for (int i = array.length - 1; i >=0; i--) {
if (array[i] != null) {
System.out.print(array[i]);
}
}
}
}
第二种方法(递归)
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/**
* 使用递归
* 将整数转换成二进制
*
* @author Administrator
*
*/
public class Test {
static List<Integer> list = new ArrayList<>();
public static List<Integer> test1(int i) {
if (i == 1) {
list.add(i);
return list;
}
list.add(i % 2);
test1(i >> 1);
return list;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (true) {
System.out.print("请输入一个整数:");
int i = input.nextInt();
List<Integer> list = test1(i);
Collections.reverse(list);
for (int n : list) {
System.out.print(n);
}
Test.list.clear();
System.out.println();
}
}
}