题目描述
输入任意个字符串,将其中的小写字母变为大写,大写字母变为小写,其他字符不用处理;
输入描述:
任意字符串:abcd12#%XYZ
输出描述:
输出字符串:ABCD12#%xyz
示例1:
输入: abcd12#%XYZ
输出: ABCD12#%xyz
代码实现:
/**
大小写转换
**/
import java.util.Scanner;
class TestChange
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine();
System.out.println(changeStr(str1));
}
public static String changeStr(String str){
char[] c = str.toCharArray(); //先将字符串转换成字符数组
int value = 'a'-'A'; //计算大小写间差值:32
//循环遍历字符数组
for(int i = 0; i < c.length; i++){
if('a'<=c[i] && c[i] <='z'){
c[i] = (char)(c[i]-value); //小写变大写
}else if('A'<=c[i] && c[i] <='Z'){
c[i] = (char)(c[i]+value); //大写变小写
}
}
String laststr = new String(c); //再将字符数组转换成字符串
return laststr;
}
}
运行结果:
附:
char c = (char)('a'-32);
System.out.println('a');
System.out.println('a'-32);
System.out.println(c);
运行结果: