1. 程式人生 > >實現字串“HelloWorld”大小寫轉換並倒序輸出

實現字串“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()); 
	}
}