华为上机测试题(协议数据解析-java)
2015-08-31 15:27
567 查看
/**
* 协议数据解析 描述:
* 某协议包括字段: 类型Type 一个字节; 命令字Command 一个字节; 端口号Port 2个字节;
* 结果Result 2个字节; 传输模式TransMode 2个字节; 上传速度RateUp 4个字节;
* 下载速度RateDown 4个字节;
* 说明:(1) 协议采用网络序 (2) 协议数据内容为内存16进制值
* 如下为一个简单的协议数据:
* 18 12 00 0a 00 00 00 01 00 03 0D 40 00 00 00 14
* 通过数据我们并不能直观地看出对应的参数值,所以通过程序自动实现协议解析
* 运行时间限制: 10 Sec 内存限制: 128 MByte
* 输入: 一行字符串,内容为内存16进制值,每个16进制值之间用空格隔开
* 输出: 解析协议,每个协议字段一行,按示例顺序输出。
* Type=24 Command=18 Port=10 Result=0 TransMode=1 RateUp=200000 RateDown=20
* 样例输入: 18 12 00 0a 00 00 00 01 00 03 0D 40 00 00 00 14
* 样例输出: Type=24 Command=18 Port=10 Result=0 TransMode=1 RateUp=200000 RateDown=20
*
*/
* 协议数据解析 描述:
* 某协议包括字段: 类型Type 一个字节; 命令字Command 一个字节; 端口号Port 2个字节;
* 结果Result 2个字节; 传输模式TransMode 2个字节; 上传速度RateUp 4个字节;
* 下载速度RateDown 4个字节;
* 说明:(1) 协议采用网络序 (2) 协议数据内容为内存16进制值
* 如下为一个简单的协议数据:
* 18 12 00 0a 00 00 00 01 00 03 0D 40 00 00 00 14
* 通过数据我们并不能直观地看出对应的参数值,所以通过程序自动实现协议解析
* 运行时间限制: 10 Sec 内存限制: 128 MByte
* 输入: 一行字符串,内容为内存16进制值,每个16进制值之间用空格隔开
* 输出: 解析协议,每个协议字段一行,按示例顺序输出。
* Type=24 Command=18 Port=10 Result=0 TransMode=1 RateUp=200000 RateDown=20
* 样例输入: 18 12 00 0a 00 00 00 01 00 03 0D 40 00 00 00 14
* 样例输出: Type=24 Command=18 Port=10 Result=0 TransMode=1 RateUp=200000 RateDown=20
*
*/
public class Main { public static void main(String[] args) { //先输入16个两位的十六进制数,每输入一个用空客隔开 //将空格替换为空,得到一串十六进制数 //用十六进制字符串表示每个字段 //将每个字段的十六进制字符串转为十进制数 //打印出每个字段 Scanner cin = new Scanner(System.in); System.out.println("输入16个两位的十六进制数,每输入一个用空客隔开"); String srcStr = cin.nextLine(); String str = srcStr.replace(" ", ""); int Type = Integer.parseInt(str.substring(0,2),16); int Command = Integer.parseInt(str.substring(2,4),16); int Port = Integer.parseInt(str.substring(4,8),16); int Result = Integer.parseInt(str.substring(8,12),16); int TransMode = Integer.parseInt(str.substring(12,16),16); int RateUp = Integer.parseInt(str.substring(16,24),16); int RateDown = Integer.parseInt(str.substring(24,32),16); System.out.println("Type="+Type+"\rCommand="+Command+"\rPort="+Port+ "\rResult="+Result+"\rTransMode="+TransMode+"\rRateUp="+RateUp+"\rRateDown="+RateDown); } }
相关文章推荐
- 怎样从SpringMVC返回json数据
- java基础回顾
- Java中 NIO与IO的区别
- struts有关action配置的通配符配置问题
- JDK 1.7源码阅读笔记(一)String,StringBuilder,StringBuffer
- springmvc配置
- Eclipse导出Android应用程序以及在真机和仿真机的安装
- springMVC下无法加载静态资源文件(js、css、image)
- spring mvc Controller间跳转 重定向 传参
- eclipse 版本区别
- Java锁的种类以及辨析——阻塞锁
- Spring MVC Custom Validator Example
- Java 内部类
- Spring整合Hibernate,不用HibernateDaoSupport与HibernateTemplate而用Hibernate自己的api分析说明
- Java锁的种类以及辨析——自旋锁的其他种类
- 华为上机测试题(数字字符串转二进制-java)
- Java可变参数使用方法
- JAVA类集
- 分治:合并排序的java程序实现
- java锁的种类以及辨析——自旋锁