算法会超时...但代码以及思路应该没错(16进制转化2进制再转化8进制)

错误原因

1、循环次数过多

2、switch语句使用过多

3、substring(0,3)这个只含开头不含结尾,因此截取是截取三个字符,从第一个到第三个字符,不包含第四个。

import java.util.*;
public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();sc.nextLine();String[] res = new String[n];for(int i=0;i<n;i++){String temp = sc.nextLine();char[] n16_temp = new char[temp.length()];String[] n2 = new String[temp.length()];for(int j=0;j<temp.length();j++){n16_temp[j]=temp.charAt(j);     //n16_temp[j]=temp.charAt(j)+"";意味着n16得是字符串数组//n16[j]=n16_temp[j]-'0';  //    switch(n16_temp[j]){case '0':n2[j] = "0000";  break;case '1':n2[j] = "0001";     //单引号和双引号,一般是区别字符和字符串,但是字符串也能是1个甚至0个字符 break;case '2':n2[j] = "0010";break;case '3':n2[j] = "0011";break;case '4':n2[j] = "0100";break;case '5':n2[j] = "0101";break;case '6':n2[j] = "0110";break;case '7':n2[j] = "0111";break;case '8':n2[j] = "1000";break;case '9':n2[j] = "1001";break;case 'A':n2[j] = "1010";break;case 'B':n2[j] = "1011";break;case 'C':n2[j] = "1100";break;case 'D':n2[j] = "1101";break;case 'E':n2[j] = "1110";break;case 'F':n2[j] = "1111";break;}}if(4*temp.length()%3 != 0){String temp_0 = new String();int s=4*temp.length()%3;switch(s){case 1:temp_0 = "00" + n2[0];n2[0] = temp_0;break;case 2:temp_0 = "0" + n2[0];n2[0] = temp_0;break;}}int num_8 = 4*temp.length()/3;if(4*temp.length()%3 != 0)   {num_8++; }String[] n8 = new String[num_8];String n8_temp=Arrays.toString(n2);char[] f = new char[num_8];for(int z=0,m1=0,m2=2;z<num_8;z++){n8[z] = n8_temp.substring(m1,m2);m1=m1+3;m2=m2+3;switch(n8[z]){  case "000":f[z] = '0';  break;case "001":f[z] = '1';  break;case "010":f[z] = '2';break;case "011":f[z] = '3';break;case "100":f[z] = '4';break;case "101":f[z] = '5';break;case "110":f[z] = '6';break;case "111":f[z] = '7';break;    }res[i] = Arrays.toString(f);}}for(int i=0;i<n;i++)System.out.println(res[i]);}
}

十六进制转八进制(蓝桥)相关推荐

  1. 蓝桥杯练习:C语言十六进制转八进制

    这题对我来说是有点难度的,最后做出来,但是提交显示 运行错误,看不出哪里出错了. 我的思路: 将十六进制转化为二进制,二进制最后转化为八进制. 首先将十六进制存入数组,然后将数组中每一位转化为对应的十 ...

  2. 蓝桥杯基础练习合集一(C语言) 1.A+B问题2.数列排序3.十六进制转八进制4.十六进制转十进制5.十进制转十六进制

    目录 1.A+B问题 2.数列排序 3.十六进制转八进制 4.十六进制转十进制 5.十进制转十六进制 1.A+B问题 问题描述 输入A.B,输出A+B. 输入格式 输入的第一行包括两个整数,由空格分隔 ...

  3. 蓝桥杯简单题之十六进制转八进制(JAVA版)

    首先对等待程序猿成长之路系列的小伙伴们说声抱歉,春节来临,可能要拖更一段时间,但是草稿已经在写,发布将会于春节后进行发布 春节第一天闲着无聊打算找个蓝桥杯的题目练练手,诶嘿,这就找到一题,话不多说,上 ...

  4. 蓝桥杯 试题 基础设计 十六进制转八进制

    蓝桥杯 基础试题 十六进制转八进制 题目描述: 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10).接下来n行,每行一个由0到9, ...

  5. Python 蓝桥杯试题 基础练习 十六进制转八进制

    Python 蓝桥杯试题 基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行, ...

  6. 蓝桥杯 十六进制转为八进制 C语言版

    ** 蓝桥杯 十六进制转为八进制 ** 题目 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由09.大 ...

  7. python【蓝桥杯vip练习题库】—BASIC-12十六进制转八进制

    试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1< ...

  8. 蓝桥杯-十六进制转八进制(java)

    基础练习 十六进制转八进制 时间限制:1.0s 内存限制:512.0MB问题描述给定n个十六进制正整数,输出它们对应的八进制数.输入格式输入的第一行为一个正整数n (1<=n<=10).接 ...

  9. 【蓝桥杯】基础练习 十六进制转八进制(Java实现)

    试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1< ...

  10. java蓝桥杯 试题-基础练习-十六进制转八进制

    试题-基础练习-十六进制转八进制 题目 试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 ...

最新文章

  1. Selenium3自动化测试——11. 下拉框处理
  2. socket网络间通信初识
  3. 浪潮as5300技术方案_混闪存储AS5300G5
  4. 【转】ABP源码分析十:Unit Of Work
  5. C语言逗号表达式 - C语言零基础入门教程
  6. oracle的sql语句,where后面的部分,执行顺序是从左往右,还是从右往左?
  7. [net]ftp ssh http telnet https服务及端口
  8. Leetcode: Palindrome Linked List
  9. 摄动(Perturbation)
  10. java中线程的生命周期_Java中的线程生命周期– Java中的线程状态
  11. JBOSS最大连接数配置和jvm内存配置
  12. 黑苹果OC引导配置制作小工具:一键制作黑苹果OpenCore EFI文件
  13. 安全测试SQL注入与XSS攻击
  14. 征途LINUX服务端脚本,征途【改版教程】-版本内脚本文件-转载于-喜欢玩网游单机站...
  15. 火狐 Firefox 浏览器书签同步问题
  16. MyBatis学习总结-06:动态SQL
  17. vue.jsv-html,关于vue.js v-bind 的一些理解和思考,vue.jsv-bind
  18. 然后卸载干净matlab,安装与卸载
  19. Gif录制神器GifCam
  20. VMware+CentOS7搭建私有云桌面服务

热门文章

  1. 【蓝桥杯省赛学习题Java】小邋遢的衣橱
  2. Promise---学习
  3. 从RTSP协议SDP数据中获得H264中的的SPS、PPS
  4. 【JAVA数据结构】链表的增删查改(单向不带头非循环链表)
  5. Vue生命周期函数异步获取数据时的问题
  6. mysql对姓名、手机号、身份证号做脱敏处理
  7. axios token过期刷新
  8. js、ES6数组去重
  9. vue cdn引入第三方依赖
  10. Android Killer没有检测到Java SDK安装环境(已解决)