提示:使用for循环,将字符串“HelloWorld”从最后一个字符开始遍历,当遍历的字符如果是大写字符时,需要转换成小写;反之则转换成大写。定义一个StringBuffer对象,调用append()方法依次添加遍历的字符,最后调用StringBuffer对象的toString()方法,并将得到的结果输出。
public class Reverse {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="HelloWorld";
char[] str1=str.toCharArray();
StringBuffer buf = new StringBuffer(str.length());
/*
* 方法一
* */
/* for(int i=str1.length-1;i>=0;i--)
{
if(str.charAt(i) == str.toLowerCase().charAt(i)){ //charAt()方法返回指定索引位置的char值。判断大小写
buf.append(str.toUpperCase().charAt(i));
}else{
buf.append(str.toLowerCase().charAt(i));
}
}
System.out.print(buf.toString()); */
/*
* 方法二
* 通过ASCII码判断字母大小写 ASCII在65-90之间是大写,97-122是小写
* 大转小加32 小转大减去32
* */
for(int i=str1.length-1;i>=0;i--)
{
//如果ASCII在65-90之间为大写,加上32变为小写
if((int)str1[i]>=65 && (int)str1[i]<=90)
{
buf.append((char)((int)str1[i]+32));
//如果ASCII在97-122之间为小写,减去32变为大写
}else if((int)str1[i]>=97 && (int)str1[i]<=122){
buf.append((char)((int)str1[i]-32));
}
}
System.out.print(buf.toString());
}
}