java 把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母.

Java输入一个字符串,将其中的大写字母转换为小写字母,小写字母转换为大写字母后输出?~

import java.util.Scanner;

public class Main {
public static void main(String[] args) {

System.out.println("输入一个字符串:");
String str = null;
Scanner cin = new Scanner(System.in);
while (cin.hasNext()) {
str = cin.nextLine();
break;
}
String newStr1 = "";
String newStr2 = "";
for (int i = 0; i < str.length(); i++) {

if (str.substring(i, i + 1).matches("^[A-Z]+$")) {
newStr2 = str.substring(i, i + 1).toLowerCase();
} else if (str.substring(i, i + 1).matches("^[a-z]+$")) {
newStr2 = str.substring(i, i + 1).toUpperCase();
} else {
newStr2 = str.substring(i, i + 1);
}
newStr1 = newStr1 + newStr2;
}
System.out.println("输出结果:");
System.out.println(newStr1);
}
}

String str="Aferer";
for(int i=0;i<str.length();i++)
{
Char s=str.subString(i,i+1);
if(s>96&&s<123)
{
str=str.subString(0,i)+str.subString(i,i+1).toUpperCase()+str.subString(i,str.length());
}
if(s>64&&s<97)
{
str=str.subString(0,i)+str.subString(i,i+1).toLowerCase()+str.subString(i,str.length());
}
}
System.out.println("转换后的值为"+str);

package test;
public class Tese{

public static void main(String[]args){
String str = "abcdABCDqwQW";
String str1 = str.toLowerCase();
String str2 = str.toUpperCase();
String sum="";
for(int i=0;i<str.length();i++){
if((str.substring(i, 1+i)).equals(str1.substring(i, 1+i))){
sum +=str2.substring(i, 1+i);
}else{
sum +=str1.substring(i, 1+i);
}

}

System.out.println(sum);
}
}

这么麻烦?那就只用ascll码值来比较,将字符串每个英文字母转换成ASCLL码进行判断,
比如:
我们都知道【A】对应的ASCII是【65】,【a】对应的ASCII是【97】,没错,所有大小写字母的ASCII值相差是32,也就是你判断如果字符串的有B,因为B的ASCII码是66,所以将B的ASCLL加上32以后,就得到98、也就是小写字母【b】的ASCLL值,然后再把98转换回来就是b了。

听起来运算起来好像挺复杂的,但是不是,你把字符串循环操作时,转换、判断、转换替代就OK啦。怎样转成ASCII,自己去看看书吧,很简单的。

======================================================
补充一下,更加ASCII码表,字母A~Z的ASCII值范围是65~90,a~z是97~122,所以你完全可以根据一个字母的ASCII值来判断它是大写字母还是小写字母

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网