2017腾讯-暑期实习生在线测试-16进制字符串转换

来源:互联网 发布:刀塔传奇数据库 编辑:程序博客网 时间:2024/06/08 10:20
import java.util.*;public class Main {public static void main(String[] args) {    Scanner sc = new Scanner(System.in);    String in = sc.next();    // System.out.println(in);     StringBuffer sbin = new StringBuffer(in);//输入     char[] arr = in.toCharArray();     StringBuffer sb = new StringBuffer("");//拼接每一行字符串    for(int i=0; i<arr.length/16; i++){            HexMoving = Integer.toHexString(i*16);            //如果少于8位  前面补零            if(HexMoving.length() < 8) {                for (int j = 0; j < 8 - HexMoving.length(); j++) {                    sb.append("0");                }            }            sb.append(HexMoving);            sb.append("  ");            //每16字节 转16进制  用空格做间隔            for (int j = i*16; j<(i+1)*16; j++){                sb.append(Integer.toHexString(sbin.charAt(j)));                sb.append(" ");            }            sb.append("  ");            //加入原字符串            sb.append(sbin.substring(i*16, (i+1)*16));            System.out.println(sb.toString());//输出并换行            HexMoving ="";//重置位移变量            sb.delete(0,sb.length());//清空        }    }    //abcdefghabcdefghhgfedcbaabczxcvb}
输入:abcdefghabcdefghhgfedcbaabczxcvb输出:abcdefghabcdefghhgfedcbaabczxcvb00000000  61 62 63 64 65 66 67 68 61 62 63 64 65 66 67 68   abcdefghabcdefgh00000010  68 67 66 65 64 63 62 61 61 62 63 7a 78 63 76 62   hgfedcbaabczxcvb

这里写图片描述

0 0
原创粉丝点击