首頁  >  文章  >  Java  >  Java中的Scanner操作詳解

Java中的Scanner操作詳解

WBOY
WBOY原創
2023-06-15 20:43:4417078瀏覽

Scanner 是 Java 中常用的類,用來讀取控制台或檔案中的輸入資料。它提供了一種簡單的方式來解析基本類型和字串,並支援對正規表示式進行匹配。

Scanner 類別位於 java.util 套件中,因此在編寫程式時需要 import 該套件。在開始使用 Scanner 之前,我們需要建立一個 Scanner 物件來存取輸入來源。

建立 Scanner 物件的語法為:

Scanner scanner = new Scanner(System.in);

上面的程式碼建立了一個 Scanner 對象,可以使用它來讀取標準輸入流中的資料。除此之外,我們還可以使用其他的輸入流來建立 Scanner 物件。

下面我們來看一些常用的 Scanner 操作。

  1. 讀取字串

我們可以使用next() 方法來讀取一個字串,它會讀取控制台輸入中的下一個單詞,並傳回一個字串。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串:");
String str = scanner.next();
System.out.println("你输入的字符串是:" + str);

上面的程式碼運行結果:

请输入一个字符串:Hello World!
你输入的字符串是:Hello

上述程式碼只讀取了輸入中的第一個單字"Hello",因為next() 方法預設會使用空格分隔輸入的字符串,所以它只會讀取輸入中的第一個單字。如果需要讀取整個字串,可以使用 nextLine() 方法。

  1. 讀取整數

我們可以使用nextInt() 或nextLong() 來讀取一個整數或長整數,如果輸入的不是數值類型,就會拋出InputMismatchException 異常。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = scanner.nextInt();
System.out.println("你输入的整数是:" + num);

上面的程式碼運行結果:

请输入一个整数:123
你输入的整数是:123
  1. 讀取浮點型資料

我們可以使用nextFloat() 或nextDouble() 來讀取一個浮點型資料。如果輸入的不是浮點型數據,會拋出 InputMismatchException 例外。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个浮点数:");
float f = scanner.nextFloat();
System.out.println("你输入的浮点数是:" + f);

上面的程式碼運行結果:

请输入一个浮点数:3.14
你输入的浮点数是:3.14
  1. 讀取布林類型資料

我們可以使用nextBoolean() 方法來讀取一個布林類型數據,如果輸入的值不是true 或false,會拋出InputMismatchException 異常。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个布尔值(true/false):");
boolean b = scanner.nextBoolean();
System.out.println("你输入的布尔值是:" + b);

上面的程式碼執行結果:

请输入一个布尔值(true/false):true
你输入的布尔值是:true
  1. 讀取正規表示式

Scanner 也提供了一個findInLine() 方法來讀取正規表示表達式。此方法可以讀取控制台輸入中第一次出現的正規表示式,並傳回一個符合的字串。

Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个正则表达式:");
String pattern = scanner.findInLine("\d+");
System.out.println("你输入的正则表达式匹配的字符串是:" + pattern);

上面的程式碼執行結果:

请输入一个正则表达式:Hello 123 World!
你输入的正则表达式匹配的字符串是:123

以上就是 Scanner 類別的一些常用操作,希望對大家學習 Java 有幫助。

以上是Java中的Scanner操作詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn