解题思路先将十六进制转为十进制在转为八进制

注意事项:

参考代码:

package One;

import java.util.ArrayList;

import java.util.Scanner;

public class Main {


public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int n = scanner.nextInt();

int[] a = new int[n];

for(int j =0;j<n;j++) {

String string =scanner.next();

for(int i =0;i<string.length();i++) {

a[j] +=(int)tras(string.charAt(i))*Math.pow(16, string.length()-i-1);

}

}

for(int i =0;i<a.length;i++) {

tras2(a[i]);

System.out.println();

}

scanner.close();

}

public static void tras2(int a) {

ArrayList<Integer> list = new ArrayList<Integer>();

int i = 0;

while(a!=0) {

list.add(i, a%8);

a = a/8;

i++;

}

for(int j =list.size()-1;j>=0;j--) {

System.out.print(list.get(j));

}


}

public static int tras(char a) {

switch(a) {

case 'A':

return 10;

case 'B':

return 11;

case 'C':

return 12;

case 'D':

return 13;

case 'E':

return 14;

case 'F':

return 15;

default:

return a-'0';

}

}


}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论