1. 程式人生 > >Java中將鍵盤錄入的字元轉為大寫

Java中將鍵盤錄入的字元轉為大寫

通過java中System類下的靜態類物件in來實現鍵盤錄入的功能。以鍵盤錄入為基礎實現將鍵盤錄入的字元轉變為大寫。
題目:
獲取使用者鍵盤錄入的資料,並將資料變成大寫顯示在控制檯上,如果使用者輸入的是over,結束鍵盤錄入。

思路:

  1. 因為鍵盤錄入只讀取一個位元組,要判斷是否是over,需要將讀取到的位元組拼接成字串
  2. 需要一個容器StringBuilder用於拼接字串
  3. 在使用者回車之前錄入的資料拼接成字串判斷即可。

程式碼:

import java.io.IOException;
import java.io.InputStream;

public class Demo2 {

	public static void main(String[] args) throws Exception {
		readKey2();
	}

	private static void readKey2() throws Exception {
		//1.建立一個容器
		StringBuilder sb=new StringBuilder();
		//2.獲取鍵盤讀取流
		InputStream is=System.in;
		//3.定義一個變數,記錄讀取到的位元組,並迴圈獲取
		int ch=0;
		//結束標記也是-1
		while((ch=is.read())!=-1)	{
			//在儲存之前需要判斷是否是換行符,如果是換行符,不進行儲存
			if(ch=='\r'){
				continue;
			}
			if(ch=='\n'){
				//換行符已經輸入完畢,返回大寫
				//如果為over 代表技術
				String str=sb.toString();//轉為字串
				if("over".equals(str)){
					break;  //結束迴圈
				}
				System.out.println(str.toUpperCase());
				sb.delete(0, sb.length());//每次在拼接完成返回大寫後要清空之前的快取,以備下一次拼接
			}else{
				//因為讀取的不是換行符,所以需要拼接字串
				sb.append((char)ch);
			}
    		}
    	}
  }