java 將英文語句首字母進行大寫 (如將this is a test 轉化爲This Is A Test)

<1>方法一

package capital;
import java.util.Scanner;

public class CapitalDemo {
	Scanner input=new Scanner(System.in);
	String temp=null;
	
	//定義一個讓用戶輸入字符串的方法
	public String write() {
		System.out.print("請輸入句子:");
		temp=input.nextLine();
		return temp;
	}
	
	//首字母變爲大寫的辦法
	public void capital(String str) {
		//把接收的參數放到StringBuffer裏面
		StringBuffer sb=new StringBuffer(str);
		
		//給str這個字符串在第一個位置加上空格
		sb.insert(0, " ");
		
		for (int i = 1; i <sb.length(); i++) {
			
			//如果它的前一個是空值,就把當前值變爲大寫
			if(sb.substring(i-1, i).equals(" ")) {
				temp=sb.substring(i,i+1).toUpperCase();
				//刪除掉當前字符串的值
				sb.deleteCharAt(i);
				//在當前位置插入
				sb.insert(i, temp);

			}//if
		}//for
		
		//由於在上面的方法插入了一個空格,所以輸出從第二個元素開始
		System.out.print("首字母大寫:");
		System.out.print(sb.substring(1));
		
	}//capital
}
package capital;
public class TestDemo {

	public static void main(String[] args) {
		
		CapitalDemo cap=new CapitalDemo();
		cap.capital(cap.write());
	}

}

結果如圖
結果

<2>方法二:使用ASCII碼來變爲大寫

package capital;
import java.util.Arrays;
import java.util.Scanner;

/*將this is a test 轉化爲This Is A Test*/
public class Capital {
	
	Scanner input=new Scanner(System.in);
	
	//用戶輸入方法
	public String write() {
		System.out.print("請輸入句子:");
		String temp=input.nextLine();
		return temp;
		
	}
	
	//使用ASCII編碼把首字母變爲大寫
	public void capital(String str) {
		
		StringBuffer sb=new StringBuffer(str);
		
		//給str這個字符串在第一個位置加上空格
		sb.insert(0, " ");
		
		//遍歷sb這個字符串
		for (int i = 1; i <sb.length(); i++) {
			
			//如果它的前一個是空值
			if(sb.substring(i-1, i).equals(" ")) {
				
				//就把當前值放入數組
				String []arr= {sb.substring(i,i+1)};
				//把字符串的第一個變爲大寫
				arr[0]+=(-32);
				//把這個位置的元素變爲大寫
				sb.replace(i, i+1, Arrays.toString(arr));
				
			}//if
			
		}//for
		
		System.out.print(sb);
		
	}//capital
}
package capital;

public class Test {

	public static void main(String[] args) {
		
		Capital cap=new Capital();
		cap.capital(cap.write());

	}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章