实现字符串“HelloWorld”大小写转换并倒序输出

提示:使用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()); 
	}
}

猜你喜欢

转载自blog.csdn.net/qq_34490018/article/details/81103288