资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
输入一个字符串,将大写字符变成小写、小写变成大写,然后输出
输入格式
acbAB
输出格式
ACBab
样例输入
一个满足题目要求的输入范例。
例:
acbAB
样例输出
与上面的样例输入对应的输出。
例:
ACBab
————————————————————————————————————————————————
方法1:无脑映射
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
static Map<Character, Character> lowToUp;
static Map<Character, Character> upToLow;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
sc.close();
lowToUp = new HashMap<>();
upToLow = new HashMap<>();
lowToUp.put('a', 'A');
lowToUp.put('b', 'B');
lowToUp.put('c', 'C');
lowToUp.put('d', 'D');
lowToUp.put('e', 'E');
lowToUp.put('f', 'F');
lowToUp.put('g', 'G');
lowToUp.put('h', 'H');
lowToUp.put('i', 'I');
lowToUp.put('j', 'J');
lowToUp.put('k', 'K');
lowToUp.put('l', 'L');
lowToUp.put('m', 'M');
lowToUp.put('n', 'N');
lowToUp.put('o', 'O');
lowToUp.put('p', 'P');
lowToUp.put('q', 'Q');
lowToUp.put('r', 'R');
lowToUp.put('s', 'S');
lowToUp.put('t', 'T');
lowToUp.put('u', 'U');
lowToUp.put('v', 'V');
lowToUp.put('w', 'W');
lowToUp.put('x', 'X');
lowToUp.put('y', 'Y');
lowToUp.put('z', 'Z');
upToLow.put('A', 'a');
upToLow.put('B', 'b');
upToLow.put('C', 'c');
upToLow.put('D', 'd');
upToLow.put('E', 'e');
upToLow.put('F', 'f');
upToLow.put('G', 'g');
upToLow.put('H', 'h');
upToLow.put('I', 'i');
upToLow.put('J', 'j');
upToLow.put('K', 'k');
upToLow.put('L', 'l');
upToLow.put('M', 'm');
upToLow.put('N', 'n');
upToLow.put('O', 'o');
upToLow.put('P', 'p');
upToLow.put('Q', 'q');
upToLow.put('R', 'r');
upToLow.put('S', 's');
upToLow.put('T', 't');
upToLow.put('U', 'u');
upToLow.put('V', 'v');
upToLow.put('W', 'w');
upToLow.put('X', 'x');
upToLow.put('Y', 'y');
upToLow.put('Z', 'z');
String res = solve(s);
System.out.println(res);
}
private static String solve(String s) {
char[] cs = s.toCharArray();
for(int i = 0;i < cs.length;i++) {
if(lowToUp.containsKey(cs[i])) {
cs[i] = lowToUp.get(cs[i]);
}else {
cs[i] = upToLow.get(cs[i]);
}
}
return String.valueOf(cs);
}
}
方法2:ASCII码
a-z:97-122,A-Z:65-90,0-9:48-57(最好记住)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
sc.close();
String res = solve(s);
System.out.println(res);
}
private static String solve(String s) {
char[] cs = s.toCharArray();
for(int i = 0;i < cs.length;i++) {
char c = cs[i];
if(c >= 'A' && c <= 'Z') {//如果是大写
c += 32;
}else {
c -= 32;
}
cs[i] = c;
}
return String.valueOf(cs);
}
}