11. 十六进制转十进制
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println(Long.parseLong(new Scanner(System.in).nextLine(), 16));
}
}
12. 十六进制转八进制
给定n个十六进制正整数,输出它们对应的八进制数。
import java.util.*;
import java.math.BigInteger;
public class Main{
private static Scanner sc=new Scanner(System.in);
public static void main(String[] args){
int n=sc.nextInt();
BigInteger[] a=new BigInteger[n];
for(int i=0;i<n;i++){
a[i]=new BigInteger(sc.next(),16);//存储16进制数
}
for(int i=0;i<n;i++){
System.out.println(a[i].toString(8));//16进制数转化为8进制数输出
}
}
}
13. 数列排序
利用字母可以组成一些美丽的图形,下面给出了一个例子:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC
这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++)
a[i] = sc.nextInt();
Arrays.sort(a);//sort方法(自动排序)
for(int i:a)
System.out.print(i+" ");
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for(int i=0;i<n;i++)
a[i] = sc.nextInt();
//冒泡排序
for(int i=0;i<n-1;i++){
for(int k=0;k<n-1-i;k++){
if(a[k]>a[k+1]){
int tmp = a[k];
a[k] = a[k+1];
a[k+1] = tmp;
}
}
}
for (int i : a) {
System.out.print(i+" ");
}
}
}
</