Java控制檯輸入【Scanner】

Java控制檯輸入

整理於2020年2月16日

Java控制檯輸入【Scanner】

步驟

  1. 創建Scanner對象,接收從控制檯輸入
    Scanner input =  new Scanner(System.in);
    
  2. 接收String類型或int類型
    String str = input.next();
    int n = input.nextInt();
    
    

在新增一個Scanner對象時需要一個System.in對象,因爲實際上還是System.in在取得用戶輸入。

Scanner的next()方法用以取得用戶輸入的字符串;

nextInt()將取得的輸入字符串轉換爲整數類型;同樣,nextFloat()轉換成浮點型;nextBoolean()轉換成布爾型。

其實next()與nextLine()區別很明確:

  1. next() 方法遇見第一個有效字符(非空格,非換行符)時,開始掃描,當遇見第一個分隔符或結束符(空格或換行符)時,結束掃描,獲取掃描到的內容,即獲得第一個掃描到的不含空格、換行符的單個字符串。

  2. 使用nextLine()時,則可以掃描到一行內容並作爲一個字符串而被獲取到。

例子:

(1) 輸入一個字符串或數
Scanner input = new Scanner(System.in);
String str = input.next();
System.out.print(str);
(2) 連續輸入多行數字,以空行結束
Scanner scanner = new Scanner(System.in);
String nextLine = scanner.nextLine();
int sum = 0;
 
while (nextLine != null && !nextLine.equals("")) {
    sum += Integer.parseInt(nextLine);
    System.out.println(sum);
    nextLine = scanner.nextLine();
}
 
System.out.println("end of input integer");
(3) 連續輸入多行字符串,以空行結束
// 注:trim用於去除字符串兩端Unicode編碼小於等於32(\u0020)的所有字符;
// 還可使用trim()的重載方法String.Trim(Char[])自定義需去除的符號。
StringBuilder stringbuilder = new StringBuilder();
Scanner scanner = new Scanner(System.in);
while(true){
    String text = scanner.nextLine().trim();
    if ("".equals(text)){
        break;
    }
    stringbuilder.append(text);
}
System.out.println(stringbuilder.toString());
(4) 輸入多個數值,以空格分開
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
String[] numstr = str.split(" ");
int[] nums = new int[numstr.length];
for(int i = 0; i < numstr.length; i ++) {
    nums[i] = Integer.parseInt(numstr[i]);
}
for(int n: nums) {
    System.out.println(n);
}
System.out.println("end of input int in a line");
(5) 輸入
Scanner in = new Scanner(System.in);
while(in.hasNext()){
    String str = in.nextLine();
    System.out.println(str);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章