软件大赛题目----(第十四个)十六进制转换为三进制
来源:互联网 发布:淘宝能赚钱吗 编辑:程序博客网 时间:2024/06/05 21:18
题目为输入一个十六进制,将其转换为三进制,解答如下
package com.bird.software;import java.util.Stack;public class TestConver {public static int sixteenToTen(String num){num = reString(num);int sum = 0;char temp;int tempNum = 0;for(int i = 0; i < num.length(); i++){tempNum = 0;temp = num.charAt(i);switch(temp){case 'A': tempNum = 10;break;case 'B': tempNum = 11;break;case 'C': tempNum = 12;break;case 'D': tempNum = 13;break;case 'E': tempNum = 14;break;case 'F': tempNum = 15;break;default: tempNum = temp - '0';}sum = (int) (sum + tempNum * Math.pow(16, i));}return sum;}public static String reString(String temp){if(temp.length() == 1)return temp;Stack<String> stack = new Stack<String>();for(int i = 0; i < temp.length(); i++){stack.push(String.valueOf(temp.charAt(i)));}StringBuffer str = new StringBuffer();for(int i = 0; i <= stack.size()+1; i++)str.append(stack.pop());System.out.println("-----"+str.toString());return str.toString();}public static String tenToThree(int num){Stack<Integer> stack = new Stack<Integer>();int temp;int shang = 0;while(true){temp = num % 3;shang = num /3;stack.push(temp);if(shang < 3){stack.push(shang);break;}num = shang;}StringBuffer sb = new StringBuffer();for(int i = 0; i <= stack.size()+1; i++){sb.append(stack.pop());}return sb.toString();}public static void main(String[] args) {System.out.print("输入十六进制F对应三进制为 ");System.out.println(tenToThree(sixteenToTen("F")));System.out.println("---------------");System.out.print("输入十六进制5对应三进制为 ");System.out.println(tenToThree(sixteenToTen("5")));}}
输出结果为
输入十六进制F对应三进制为 120---------------输入十六进制5对应三进制为 12
- 软件大赛题目----(第十四个)十六进制转换为三进制
- 软件大赛题目----(第十五个)二叉树
- 软件大赛题目----(第十个)求大小数字之差
- 软件大赛题目----(第十三个)把一个串从数字不连续的位置断开
- 软件大赛题目----(第一个)Java
- 软件大赛题目----(第四个)选择
- 软件大赛题目----(第一个)Java
- 软件大赛excel转换
- 数组(九)--十进制转换为十六进制
- 数值转换为十六进制
- 转换为十六进制函数
- 字符串转换为十六进制
- 字符串转换为十六进制
- 字符串转换为十六进制
- 字符串转换为十六进制
- 十进制转换为十六进制
- 十六进制转换为十进制
- 十进制转换为十六进制
- MultiProvider 和 InfoSet 的区别
- Java中DatabaseMetaData 元数据信息
- java调用oracle基本编程
- 移植u-boot-2010.09到S3C2440(二)——ARM汇编中的LDR及ADR的区别及其在U-BOOT中的应用 (SDRAM)
- python中时间的相关处理
- 软件大赛题目----(第十四个)十六进制转换为三进制
- 关于服务器定时重启并利用批处理加载相关服务的完整方案
- 第七周任务一:求时分秒(含有静态数据成员和成员函数的Time类:类中所有的对象共有的数据)
- java字符串类型转换
- 排序算法----分配排序(箱排序,基数排序以及各种排序比较)
- java进制转化
- 外观设计模型
- java数据类型的MAX,MIN,SIZE
- photoshop中的快速选择工具