class Tool { public static void trans(int num,int base,int offset) //num是需要转换的数,base是取一位数需要与的二进制位数,offset是向右移的位数 { if(num==0) //如果需要转换的数为零,直接返回 { System.out.println(0); return ; } char[] chs = {'0','1','2','3' //2~16进制所需要的字符 ,'4','5','6','7' ,'8','9','A','B' ,'C','D','E','F'}; char[] arr = new char[32]; //定义一个可以装下32个字符的数组 int pos = arr.length; //有效位长度 while(num!=0) //判断是否转换完 { int temp = num & base; //取最低位 arr[--pos] = chs[temp];//将转换的一位存在arr[]里 num = num >>> offset; } for(int x=pos; x<arr.length; x++) { System.out.print(arr[x]);//打印 } return ; } public static void toBin(int num) { trans(num,1,1); } /* 十进制-->八进制 */ public static void toOctal(int num) { trans(num,7,3); } /* 十进制-->十六进制 */ public static void toHex(int num) { trans(num,15,4); } } class UseTool { public static void main(String[] args) { Tool.toHex(19); //调用 Tool.toOctal(23); Tool.Bin(23); } }该进制转换程序将实现方法全部封装在类里,而类里面成员均为静态,不用创建对象即要可调用。
class SelecAndBubble { static void Selec(int[] arr) //选择排序 { for(int x=0;x<arr.length-1;x++) { for(int y=x+1;y<arr.length;y++) { if(arr[x]>arr[y]) { int temp=arr[x]; arr[x]=arr[y]; arr[y]=temp; } } } Sort.Desc(arr); } static void Bubble(int[] arr) //冒泡排序 { for(int x=0;x<arr.length;x++) { for(int y=0;y<arr.length-x-1;y++) { if(arr[y]>arr[y+1]) { int temp=arr[y]; arr[y]=arr[y+1]; arr[y+1]=temp; } } } Sort.Desc(arr); } } class Tool extends SelecAndBubble //继承SelecAndBubble { static void SelecByAsc(int[] arr) //选择排序 { for(int x=0;x<arr.length-1;x++) { for(int y=x+1;y<arr.length;y++) { if(arr[x]>arr[y]) { int temp=arr[x]; arr[x]=arr[y]; arr[y]=temp; } } } Sort.Asc(arr); } static void BubbleByAsc(int[] arr) //冒泡排序 { for(int x=0;x<arr.length;x++) { for(int y=0;y<arr.length-x-1;y++) { if(arr[y]>arr[y+1]) { int temp=arr[y]; arr[y]=arr[y+1]; arr[y+1]=temp; } } } Sort.Asc(arr); } } class Sort { static void Desc(int[] arr) //升序打印 { for(int x=0;x<arr.length;x++) { System.out.println(arr[x]); } } static void Asc(int[] arr) //降序打印 { for(int x=arr.length-1;x>=0;x--) { System.out.println(arr[x]); } } } class UseTool { public static void main(String[] args) { int[] arr={2,37,54,4,67,3}; Tool.SelecByAsc(arr); Tool.Bubble(arr); } }该程序有选择排序和冒泡排序,有升序和降序的功能,还用到了继承的特性。