蓝桥杯基础训练试题
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
String str1 = in.next();
String str2 = in.next();
if(str1.equals(str2)) {
System.out.println(2);
}else if(str1.length() != str2.length()) {
System.out.println(1);
}else if(str1.toLowerCase().equals(str2.toLowerCase())) {
System.out.println(3);
}else {
System.out.println(4);
}
}
}
}
基础练习 十六进制转十进制
时间限制:1.0s 内存限制:512.0MB
问题描述
从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str;
String str2 = "0123456789ABCDEF";
int len;
long sum; //八位十六进制数超过int的长度
long a = 1;
while(in.hasNext()) {
str = in.next();
len = str.length();
sum = 0L;
for(int i = 0; i < len; i++) {
long temp = str2.indexOf(str.charAt(i));
if(temp != 0) {
for(int j = 1; j < len - i; j++ ){
temp = temp *16;
}
sum +=temp;
}
}
System.out.println(sum);
}
}
}用大数处理: