JAVA算法训练 大小写转换
package AlgorithmTraining;
import java.util.Scanner;
/**
* 算法训练 大小写转换
* 考点:数组操作
* @author Lenovo
*
*/
public class TestALGO236 {
/**
*@Author.Wanghe
*@Date 2020年3月11日
*/
//方法一:使用字母对应的ASCII码,a-z对应的ASCII码为97-122,A-Z对应的ASCII码对应在65-90,故他们之间的差值在32,使用循环判断的方法实现大小写的
/*public static void main(String[] args) {
String string = new Scanner(System.in).nextLine();
for(int i=0;i<string.length();i++) {
char a = string.charAt(i);
if(a>=65&&a<=90) {
System.out.print((char)(a+32));
}
if(a>=97&&a<=122) {
System.out.print((char)(a-32));
}
}
}*/
//方法二:和方法一的原理一样,但是利用了数组进行了大小写的转换后的存储
public static void main(String[] args) {
String string = new Scanner(System.in).nextLine();
//定义一个转换后的数组
char arr[] = new char[string.length()];
//进行for循环判断字母的大小写并转换
for(int i=0;i<string.length();i++) {
char temp = string.charAt(i);
if('a'<=temp&&temp<='z'){
temp = (char) (string.charAt(i)-32);
}else if('A'<=temp&&temp<='Z') {
temp = (char) (string.charAt(i)+32);
}
arr[i] = temp;
}
//输出数组
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]);
}
}
}