1.可以设置一个判断,当第一次读到非0字符时开始显示,这样前面的0就可以省略,中间的0也可以保存;
2.推荐给楼主一个10转16进制非常方便的方法,采用位运算,下面是我编的这种方法的代码
- import java.util.Scanner;
- public class ToShiLiu {
- public static void main(String args[])
- {
- Scanner sc=new Scanner(System.in);
- while(sc.hasNext())
- {
- int a=sc.nextInt();
- char[] c={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
- StringBuffer sb=new StringBuffer("");
- boolean flag=true;
- if(a==0){
- System.out.println(a);flag=false;
- }
- while(a>0&&flag)
- {
- String str=sb.toString();
- sb=new StringBuffer("");
- int t=a&15;
- a=a>>>4;
- sb.append(c[t]).append(str);
- }
- System.out.println(sb.toString());
- }
- }
- }
复制代码 |