蓝桥杯 ADV-239 算法提高 P0102 (进制转换) (java)
2017-12-14 10:39
477 查看
算法提高 P0102
时间限制:1.0s 内存限制:256.0MB
用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出,十六进制表示成3位,八进制表示成4位,若不够前面补0。(不考虑输入不合法的情况)
输入
1D5
输出
(注意冒号后面有一个空格)
Hex: 0x1D5
Decimal: 469
Octal: 0725
总结该题目中使用的类或方法:
1、Integer.valueOf(xString, 16):第二个参数16为xString使用的基数(进制),结果是一个表示字符串指定的整数值的 Integer 对象。(整形值采用十进制整数表示)
2、Integer.toBinaryString(int i):将十进制转化为2进制
3、Integer.toHexString(int i):将十进制转化为16进制
4、Integet.toOctalString(int i):将十进制转化为8进制
5、Integer.parseInt(String s):将字符串s转化为整形
6、两个字符串连接:String a = "1"; String b="2"; Stirng c=a+b; c为12。
7、字符串string的所有字符转化为大写:string.toUpperCase();
代码如下:
时间限制:1.0s 内存限制:256.0MB
用户输入三个字符,每个字符取值范围是0-9,A-F。然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出,十六进制表示成3位,八进制表示成4位,若不够前面补0。(不考虑输入不合法的情况)
输入
1D5
输出
(注意冒号后面有一个空格)
Hex: 0x1D5
Decimal: 469
Octal: 0725
总结该题目中使用的类或方法:
1、Integer.valueOf(xString, 16):第二个参数16为xString使用的基数(进制),结果是一个表示字符串指定的整数值的 Integer 对象。(整形值采用十进制整数表示)
2、Integer.toBinaryString(int i):将十进制转化为2进制
3、Integer.toHexString(int i):将十进制转化为16进制
4、Integet.toOctalString(int i):将十进制转化为8进制
5、Integer.parseInt(String s):将字符串s转化为整形
6、两个字符串连接:String a = "1"; String b="2"; Stirng c=a+b; c为12。
7、字符串string的所有字符转化为大写:string.toUpperCase();
代码如下:
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner = new Scanner(System.in); String xString = scanner.next(); String shiString = Integer.valueOf(xString, 16).toString();//10进制 int shijinzhi = Integer.parseInt(shiString); String bajinzhi = Integer.toOctalString(shijinzhi);//八进制 String shiliujinzhi = Integer.toHexString(shijinzhi).toUpperCase();//十六进制(大写) //判断十六进制是否为3位,补0 if(shiliujinzhi.length()==1){ String temp = "0x00"; shiliujinzhi=temp+shiliujinzhi; }else if(shiliujinzhi.length()==2){ String temp = "0x0"; shiliujinzhi=temp+shiliujinzhi; }else if(shiliujinzhi.length()==3){ String temp = "0x"; shiliujinzhi=temp+shiliujinzhi; } //判断八进制是否为4位,补0 if(bajinzhi.length()==1){ String temp = "000"; bajinzhi=temp+bajinzhi; }else if(bajinzhi.length()==2){ String temp = "00"; bajinzhi=temp+bajinzhi; }else if(bajinzhi.length()==3){ String temp = "0"; bajinzhi=temp+bajinzhi; } System.out.println("Hex: "+shiliujinzhi); System.out.println("Decimal: "+shijinzhi); System.out.println("Octal: "+bajinzhi); } }
相关文章推荐
- 蓝桥杯 ADV_193 算法提高 新建Microsoft Word文档 (java)
- 蓝桥杯 ADV-194 算法提高 盾神与积木游戏 java版
- 蓝桥杯 算法提高 P0102(Java解题)
- 蓝桥杯 ADV-171 算法提高 身份证号码升级 (java)
- 算法-蓝桥杯-算法提高 P0102 (JAVA)
- 蓝桥杯 ADV-205 算法提高 拿糖果 java版
- 蓝桥杯 ADV-98 算法提高 约数个数 (java)
- 蓝桥杯 ADV-188 算法提高 排列数(java) 深度优先搜索 DFS
- 蓝桥杯 ADV-144 算法提高 01背包 (java)(动态规划算法)
- 蓝桥杯 ADV-166算法提高 聪明的美食家(java)
- 蓝桥杯 ADV-166 算法提高 聪明的美食家 java版
- 蓝桥杯 ADV-127 算法提高 日期计算(java)
- 蓝桥杯 ADV-82 算法提高 填充蛋糕
- 蓝桥杯 ADV-175 算法提高 三个整数的排序
- 蓝桥杯 ADV-210 算法提高 2-1屏幕打印
- 算法笔记_103:蓝桥杯练习 算法提高 金明的预算方案(Java)
- 蓝桥杯 ADV-143算法提高 扶老奶奶过街
- 蓝桥杯 ADV-148算法提高 排队打水问题(贪心)
- 蓝桥杯 ADV-103 算法提高 逆序排列
- 蓝桥杯 ADV-210 算法提高 2-1屏幕打印