Java中將鍵盤錄入的字元轉為大寫
阿新 • • 發佈:2018-12-06
通過java中System類下的靜態類物件in來實現鍵盤錄入的功能。以鍵盤錄入為基礎實現將鍵盤錄入的字元轉變為大寫。
題目:
獲取使用者鍵盤錄入的資料,並將資料變成大寫顯示在控制檯上,如果使用者輸入的是over,結束鍵盤錄入。
思路:
- 因為鍵盤錄入只讀取一個位元組,要判斷是否是over,需要將讀取到的位元組拼接成字串
- 需要一個容器StringBuilder用於拼接字串
- 在使用者回車之前錄入的資料拼接成字串判斷即可。
程式碼:
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); } } } }