【Java例题】6.1 进制转换


1.进制转换。
输入一个某种进制的整数,将其转换为其它进制的整数。
说明:仅考虑十、二、八和十六进制。

package chapter6;
import java.util.*;

public class demo1 {
    static public void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("按1+enter---输入2进制数");
        System.out.println("按2+enter---输入8进制数");
        System.out.println("按3+enter---输入10进制数");
        System.out.println("按4+enter---输入16进制数");
        int con1=sc.nextInt();
        System.out.println("按1+enter---转换为2进制数");
        System.out.println("按2+enter---转换为8进制数");
        System.out.println("按3+enter---转换为10进制数");
        System.out.println("按4+enter---转换为16进制数");
        int con2=sc.nextInt();
        switch(con1) {
        case 1:System.out.println("请输入2进制数");break;
        case 2:System.out.println("请输入8进制数");break;
        case 3:System.out.println("请输入10进制数");break;
        case 4:System.out.println("请输入16进制数");break;
        default:System.out.println("请输入正确指令!");break;
    }
        String num=sc.next(); 
        zhuanhuan(con1,con2,num);
        sc.close();
    }

    private static void zhuanhuan(int a,int b,String c) {
        switch(a*10+b) {
        case 11:System.out.println(c);break;
        case 12:System.out.println(Integer.toOctalString(Integer.valueOf(c,2)));break;
        case 13:System.out.println(Integer.valueOf(c, 2));break;
        case 14:System.out.println(Integer.toHexString(Integer.valueOf(c,2)));break;
        case 21:System.out.println(Integer.toBinaryString(Integer.valueOf(c,8)));break;
        case 22:System.out.println(c);break;
        case 23:System.out.println(Integer.valueOf(c,8));break;
        case 24:System.out.println(Integer.toHexString(Integer.valueOf(c,8)));break;
        case 31:System.out.println(Integer.toBinaryString(Integer.parseInt(c)));break;
        case 32:System.out.println(Integer.toOctalString(Integer.parseInt(c)));break;
        case 33:System.out.println(c);break;
        case 34:System.out.println(Integer.toHexString(Integer.parseInt(c)));break;
        case 41:System.out.println(Integer.toBinaryString(Integer.valueOf(c,16)));break;
        case 42:System.out.println(Integer.toOctalString(Integer.valueOf(c,16)));break;
        case 43:System.out.println(Integer.valueOf(c,16));break;
        case 44:System.out.println(c);break;
        }
        
    }
}
原文地址:https://www.cnblogs.com/LPworld/p/10724059.html