Java实现从键盘输入某个十进制整数,转换成对应的二进制整数并输出
第一种解法
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请随机输入一个十进制整数:");
if(sc.hasNextInt()){
int num=sc.nextInt();
if(num>=0){
System.out.print("十进制"+num+"的二进制为:");
int x=1, y=0;
String binary="";
while(x!=0){
x=num/2;
y=num%2;
num=x;
binary+=y;
}
for(int i=binary.length()-1;i>=0;i--){
System.out.print(binary.charAt(i));
}
}else{
System.out.println("您输入的数值有误,请重新输入。");
}
}else{
System.out.println("您输入的数值有误,请重新输入。");
}
}
}
第二种解法
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请随机输入一个十进制整数:");
if(sc.hasNextInt()){
int num=sc.nextInt();
if(num>=0){
System.out.print("十进制"+num+"的二进制为:");
String binary = Integer.toBinaryString(num);
System.out.println(binary);
}else{
System.out.println("您输入的数值有误,请重新输入。");
}
}else{
System.out.println("您输入的数值有误,请重新输入。");
}
}
}
第三种解法
import java.util.Scanner;
public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请随机输入一个十进制整数:");
if(sc.hasNextInt()){
int num=sc.nextInt();
if(num>=0){
System.out.print("十进制"+num+"的二进制为:");
int a=0, b=1, c;
for(int i=1; ;i++){
c=num%2;
num=num/2;
a+=c*b;
b*=10;
if(num == 0){
break;
}
}
System.out.print(a);
}else{
System.out.println("您输入的数值有误,请重新输入。");
}
}else{
System.out.println("您输入的数值有误,请重新输入。");
}
}
}