public class ToBinary {
public static void main(String[] args) {
try {
String s;
int n = 0;
while (true) {
BufferedReader br = new BufferedReader(System.in);
System.out.print("input a decimal/or [E] to exit:");
s = br.readLine();
if (s!=null && "E".equals(s)) {
System.out.println("bye...");
break;
}
try {
n = Integer.paseInt(s);
} catch (NumberFormatException ex) {
System.out.println(s " is an illegal decimal, try again.");
continue;
}
楼上的写的好多啊,看我这个可能简单点:
import java.util.*;
public class TenToTwo
{
static StringBuffer result = new StringBuffer();
public static void main(String[] args)
{
int m;
System.out.print("输入一个十进制数:");
Scanner s = new Scanner(System.in);
m = s.nextInt();
transfer(m);
result.reverse();
System.out.println(result);
}
public static void transfer(int m)
{
if(m == 0)
return;
else if(m % 2 == 1)
result.append('1');
else
result.append('0');
m = m / 2;
transfer(m);
}
/**
* Display the binary form of primitive byte
* Every four-bit has a ','
*/
public static void bin(byte b) {
char[] charBits = toCharBits(b, 8);
outputWholeBits(charBits);
}
/**
* Display the binary form of primitive char
* primitive char is Unicode and takes 16-bit pre-char
* Every four-bit has a ','
*/
public static void bin(char b) {
char[] charBits = toCharBits(b, 16);
outputWholeBits(charBits);
}
/**
* Display the binary form of primitive short
* Every four-bit has a ','
*/
public static void bin(short b) {
char[] charBits = toCharBits(b, 16);
outputWholeBits(charBits);
}
/**
* Display the binary form of primitive int
* Every four-bit has a ','
*/
public static void bin(int b) {
char[] charBits = toCharBits(b, 32);
outputWholeBits(charBits);
}
/**
* Display the binary form of primitive long
* Every four-bit has a ','
* Notice the literal "1L", not "1"
*/
public static void bin(long b) {
char[] charBits = toCharBits(b, 64);
outputWholeBits(charBits);
}
/**
* Display the binary form of primitive float
*/
public static void bin(float a) {
char[] charBits = toCharBits(Float.floatToIntBits(a), 32);
outputFloatBits(charBits);
}
public static void bin(double a) {
char[] charBits = toCharBits(Double.doubleToLongBits(a), 64);
outputDoubleBits(charBits);
}
static char[] toCharBits(long num, int size) {
char[] charBits = new char[size];
for (int i = size-1; i >= 0; --i) {
charBits[i] = (num & 1) == 0 ? '0' : '1';
num >>>= 1;
}
return charBits;
}