- class java0403d3
- {
- public static void hanshu(int x,int y,int z)
- {
- if(x==0)
- {
- System.out.println("您输入的数是:"+0);
- return;
- }
- if(y==0)
- {
- return;
- }
- System.out.print("您输入的数转换后为:");
- char [] shuzu = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
- char [] arr=new char [32];
- int pos = arr.length;
- while (x!=0)
- {
- int temp =x&y;
- arr[--pos]=shuzu[temp];
- x=x>>>z;
- }
- System.out.print(arr);
- }
- public static void to(int x,int y)
- {
- System.out.println("您输入的数是"+x+",想转换成"+y+"进制。");
- int a=0,b=0;
- switch (y)
- {
- case 2:
- a=1;b=1;
- break;
- case 8:
- a=7;b=3;
- break;
- case 16:
- a=16;b=4;
- break;
- default:
- System.out.println("对不起老师没教我转换成你需要的这个进制的方式");
- break;
- }
- hanshu(x,a,b);
- }
- public static void main(String[] args)
- {
- to(-10,2);//逗号前输入想转化的十进制数,逗号后输入想转换的进制数。
- //逗号后面只能输入2.8.16. 输入任何非2.8.16的数字都将默认为16进制。
- }
- }
复制代码 给你发一段我自己写的代码 你慢慢看 不懂在问 |