使用Scanner獲取鍵盤輸入


使用Scanner類可以很方便地便獲取用戶的鍵盤輸入,Scanner是一個基於正則表達式的文本掃描器,它可以從文件、輸入流 、字符串中解析出基本類型值和字符串值。Scanner類提供了多個構造器,不同的構造器可接受文件、輸入流、字符串作為數據,用於從文件、輸入流、字符串中解析數據。

        Scanner主要提供了兩個方法來掃描輸入:

(1)   hasNextXxx():是否還有下一個輸入項,其中Xxx可以是Int、Long等代表基本數據類型的字符串。如果需要判斷是否包含下一個字符串,可以省略Xxx.

(2)   nextXxx():獲取下一個輸入項。Xxx的含義與前一個方法中Xxx相同。

        在默認情況下,Scanner使用空白(包括空格、Tab空白、回車)作為多個輸入項之間的分隔符。看下面的程序使用Scanner來獲得用戶的鍵盤輸入。

public class TestScannerKeyBoard
{
 public static void main(String[] args)
 {
  //System.in代表標准輸入,就是鍵盤輸入
  Scanner sc=new Scanner(System.in);
  //Scanner使用useDelimiter(String pattern)方法設置分隔符。下面設置使用回車作為分隔符,
  //程序每次讀取一行,不管這一行是否包含空格,Scanner都把它當成一個輸入項
  //sc.useDelimiter("\n");

  //判斷是否還有下一個輸入項
  while(sc.hasNext())
  {       
   //輸出輸入項
   System.out.println("鍵盤輸入內容是:"+sc.next());
  }
 }
}
運行上面程序,程序通過Scanner不斷從鍵盤讀取鍵盤輸入,每次讀到鍵盤輸入,直接將輸入內容打印在控制台。
事實上,Scanner提供了兩個簡單的方法來逐行讀取:
   (1) boolean hasNextLine():返回輸入源中是否還有下一行。
   (2)String nextLine():返回輸入源中的下一行的字符串。
    Scanner不僅可以獲取字符串輸入項,也可以獲取任何類型的輸入項。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM