Java學習記錄
旨在記錄學習程序,學會解決問題
細節決定成敗
Java基礎
通過終端輸入的漢字列印出來為?的問題解決
import java.util.Scanner;
public class InputData {
public static void main(String[] args) {
Scanner scanner1 = new Scanner(System.in);
String str = scanner1.nextLine();
System.out.println(str);
}
}

中文輸入為問號
根據以往經驗,開始查找是不是哪里編碼沒對,在查看了源檔案,編碼方式均為utf-8時,排除了檔案編碼和編譯問題
之后我又把cmd終端的顯示編碼從GBK改成了utf-8 (使用命令chcp 65001
轉換)
結果還是亂碼,迫不得已查百度,通過實踐發現,通過終端輸入的漢字一定是以GBK模式編碼的,不管終端的編碼是哪種方式
下面是設定Scanner方法的識別編碼為"GBK",即在終端中以GBK識別輸入的漢字,最后大功告成!
// 匯入Scanner類
import java.util.Scanner;
public class InputData {
// main入口
public static void main(String[] args) {
// 創建一個scanner1物件來接受終端輸入的字串
Scanner scanner1 = new Scanner(System.in,"GBK"); //
// 創建str接受輸入的字串 scanner1.nextLine(); 字串是以"\n"為分隔符
String str = scanner1.nextLine();
// 而 scanner1.nextLine(); 接受的字串是以' '空格符為分隔符
// String str = scanner1.nextLine();
// 列印輸出str
System.out.println(str);
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/557011.html
標籤:其他
上一篇:根據模板動態生成word(三)使用poi-tl生成word
下一篇:返回列表