package company.TestConstructor;
import java.util.Scanner;
import java.math.BigInteger;
/**
* Created by DY1201zhangshuyou on 2014/12/27.
* 测试递归
* 1.把一个整数按n(2<=n<=20)进制表示出来,并保存在给定字符串中。
* 比如121用二进制表示得到结果为:“1111001”。
* 参数说明:s: 保存转换后得到的结果.
* n: 待转换的整数.
*/
/*
1. BigInteger的构造函数
BigInteger(String src)默认参数字符串为10进制数值
BigInteger(String src, int x)第2个参数x是指定第一个参数src的进制类型
2. toString方法
toString()默认把数值按10进制数值转化为字符串。
toString(int x)
*/
public class TestDemo01 {
/*
计算二进制 -> 十进制
*/
public static void Binarybinary(){
System.out.println("请输入一个二进制数");
Scanner scanner = new Scanner(System.in);
String n = scanner.next();
BigInteger src2 = new BigInteger(n , 2);
System.out.println("转化为十进制为:" + src2.toString());
}
/*
计算十进制 ->二进制
*/
public static void Decimal(){
System.out.println("请输入一个十进制数");
Scanner scanner = new Scanner(System.in);
String b = scanner.next();//输入数值
BigInteger src1 = new BigInteger(b);//转换为BigInteger类型
System.out.println("转化为二进制位:" + src1.toString(2));//转换为2进制并输出结果
}
public static void main(String[] args){
System.out.println("将为您进行二进制和十进制的转换");
System.out.println("输入2计算二进制(转十进制)");
System.out.println("输入10计算十进制(转二进制)");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
switch (n){
case 2:
TestDemo01.Binarybinary();
break;
case 10:
TestDemo01.Decimal();
break;
}
}
}
ps:只是实现了十进制、二进制的互相转换,之后会再添加上其他的转换~~
更多推荐
看着网上有进制转换的计算器,想做着试试(只需一个简单的方法即可实现)
发布评论