• 十六进制转八进制(Java)


    //参考:https://www.cnblogs.com/zszq/p/6079308.html(更详细,更全)

    import
    java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int n = sc.nextInt(); while(n<1&&n>10); String[] str = new String[n]; String[] num = new String[n]; for(int i=0; i<n; i++) { str[i] = sc.next(); while(str[i].length()>100000); //十六进制转二进制 StringBuilder strbB = new StringBuilder(); for(int j=0; j<str[i].length(); j++) { String b = Integer.toBinaryString(Integer.valueOf(String.valueOf(str[i].charAt(j)), 16)); //java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。 //而valueOf(Object obj)对null值进行了处理,不会报任何异常。但当object为null 时,String.valueOf(object)的值是字符串”null”,而不是null。 for(int k=b.length(); k<4; k++) { b = '0'+b; } strbB.append(b); } //二进制转十六进制 StringBuilder strbO = new StringBuilder(); int num0 = 3-strbB.length()%3; for(int j=0; j<num0; j++) { strbB = new StringBuilder("0").append(strbB); } for(int k=0; k<strbB.length(); k+=3) { String strB = strbB.substring(k,k+3); String strO = Integer.toOctalString(Integer.valueOf(String.valueOf(strB), 2)); strbO.append(strO); } num[i] = strbO.toString().replaceAll("^(0+)", ""); //replaceAll的第一个参数是转义字符,不需要转义时用replace } for(int i=0; i<n; i++) { System.out.println(num[i]); } } }
  • 相关阅读:
    “孤立”用户
    MongoDB 维护Replica Set
    Design7:数据删除设计
    abap取中值的函数
    REPLACE...IN.....WITH.... 的使用
    ABAP中RETURN与EXIT语句的区别
    在一个程序中调用另一个程序并且传输数据到选择屏幕执行这个程序
    Extract Datasets
    事件
    计算字符串长度的实例
  • 原文地址:https://www.cnblogs.com/ywfp-lee/p/12209176.html
Copyright © 2020-2023  润新知