java 把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母.
2个回答
展开全部
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);
}
}
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值来判断它是大写字母还是小写字母
比如:
我们都知道【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值来判断它是大写字母还是小写字母
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询