当前位置: 首页 > news >正文

华为机试题:HJ5 进制转换

目录

  • 第一章、算法题
    • 1.1)题目描述
    • 1.2)解题思路与答案
    • 1.3)派仔的解题思路与答案
    • 1.3)牛客链接

友情提醒:
先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。

第一章、算法题

1.1)题目描述

题目描述:
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在

输入描述:
输入一个十六进制的数值字符串。

输出描述:
输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例:
在这里插入图片描述

1.2)解题思路与答案

解题思路:
①使用Java自带的Integer.parseInt(String,16) 方法

答案:

import java.io.*;
import java.util.*;public class Main{public static void main(String[] args) throws Exception{Scanner sc = new Scanner(System.in);while(sc.hasNextLine()){String s = sc.nextLine();System.out.println(Integer.parseInt(s.substring(2,s.length()),16));}}
}

1.3)派仔的解题思路与答案

①res = res * BASE + map.get(ch); 这个公式是精华原理如图:
在这里插入图片描述

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;public class Putest {private final static int BASE = 16;private static Map<Character, Integer> map = new HashMap<Character, Integer>(){{put('0', 0);put('1', 1);put('2', 2);put('3', 3);put('4', 4);put('5', 5);put('6', 6);put('7', 7);put('8', 8);put('9', 9);put('A', 10);put('B', 11);put('C', 12);put('D', 13);put('E', 14);put('F', 15);put('a', 10);put('b', 11);put('c', 12);put('d', 13);put('e', 14);put('f', 15);}};public static int getDecimal(String number) {int res = 0;char [] arr =number.toCharArray();for( int i=0;i<arr .length;++i){//这个公式是精华,map.get()方法返回指定键所映射的值res = res * BASE + map.get(arr[i]);}/*      也可以这样写循环for (char ch : number.toCharArray()) {//这个公式是精华,map.get()方法返回指定键所映射的值res = res * BASE + map.get(ch);}*/return res;}public static void main(String[] args) {Scanner in = new Scanner(System.in);while (in.hasNext()) {String number = in.next();int res = getDecimal(number.substring(2));System.out.println(res);}}
}

1.3)牛客链接

牛客网链接

http://www.lryc.cn/news/207771.html

相关文章:

  • 面试算法37:小行星碰撞
  • ROS学习记录2018.7.10
  • OPC UA:工业领域的“HTML”
  • 【golang】Windows环境下Gin框架安装和配置
  • 多测师肖sir_高级金牌讲师__接口测试之tonken (5.6)
  • C++常见面试问题之内存对齐
  • 网络协议--TCP:传输控制协议
  • 网络协议--BOOTP:引导程序协议
  • 33基于MATLAB的对RGB图像实现中值滤波,均值滤波,维纳滤波。程序已通过调试,可直接运行。
  • WPF十六(页面内嵌加载)
  • JAVA基础(JAVA SE)学习笔记(九)异常处理
  • Miniconda、Vscode下载和conda源、pip源设置
  • CAN接口的PCB Layout规则要求汇总
  • IP网络矿用打点紧急广播方案
  • 系列六、FactoryBean vs ApplicationContext
  • AOP简单使用模版
  • 手机注册.
  • PostgreSQL 17新特性之登录事件触发器
  • Docker 搭建 LNMP + Wordpress
  • 大数据调度最佳实践 | 从Airflow迁移到Apache DolphinScheduler
  • node实战——搭建带swagger接口文档的后端koa项目(node后端就业储备知识)
  • Qt篇——子控件QLayoutItem与实际控件的强转
  • Css3使用
  • 【嵌入式开源库】timeslice的使用,完全解耦的时间片轮询框架构
  • 人工智能期末考试(刷题篇部分题有答案)
  • 手写Vue渲染器render函数
  • CGAL+QT
  • GBase8a SSL 配置
  • 数据结构之队列(源代码➕图解➕习题)
  • 社区迭代|ETLCloud社区新增“论坛”啦!