蓝桥杯——试题 基础练习 十六进制转八进制

举报
筱白 发表于 2022/02/22 15:10:46 2022/02/22
【摘要】 资源限制时间限制:1.0s   内存限制:512.0MB问题描述  给定n个十六进制正整数,输出它们对应的八进制数。输入格式  输入的第一行为一个正整数n (1<=n<=10)。  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式  输出n行,每行为输入对应的八进制正整数。  【注意】  输入的十六进制数不会...
资源限制
时间限制:1.0s   内存限制:512.0MB
问题描述
  给定n个十六进制正整数,输出它们对应的八进制数。

输入格式
  输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式
  输出n行,每行为输入对应的八进制正整数。

  【注意
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。

样例输入
  2
  39
  123ABC

样例输出
  71
  4435274

  【提示
  先将十六进制数转换成某进制数,再由某进制数转换成八进制。

提交代码

package demo;

import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
//import java.util.*;
public class Main {
public static void main(String[] args) {
		// TODO Auto-generated method stub

	// 十六进制转八进制
       Scanner scanner=new Scanner(System.in);
       int count=scanner.nextInt();   //创建一个转换个数的值
       if (count>=1&&count<=10) {     //个数最少为1,最大位10个
    	   int[]arr=new int[count];    //创建一个数组    
    	   for (int i = 0; i < count; i++) {
			String str=scanner.next();   //接收要转换16进制的数
			Integer num=Integer.valueOf(str,16);   //转换16进制
			String he=Integer.toOctalString(num);   //转换位8进制
			int re=Integer.parseInt(he);    //转换位Int类型
			arr[i]=re;      //把值传到数组
		}
    	   //遍历
    	   for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
		
	}
     
     


		
		
	}
}

希望能给大家有一点帮助!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。