java.util.Scanner的幾種next方法

2020-12-14 軟體開發領路人

java.util.Scanner,這個類,想必大家都不怎麼陌生,在初學Java這門程式語言時,都見過,使用過吧。

今天就來說說java.util.Scanner類的幾種next方法。

scanner.next()方法

先看看scanner.next()的使用以及效果吧。

如上圖代碼以及執行結果所示,scanner.next()這個方法會忽略掉輸入有效字符前面的空格,輸入內容中遇到空格後,從空格開始往後的內容就都不作為掃描結果了。

scanner.nextLine()方法

再來看看scanner.nextLine()這個方法。

對上面的示例代碼稍作修改。

和上面的scanner.next()的執行結果比較便知,scanner.nextLine()方法不會忽略空格,掃描的結果是回車之前的所有輸入內容。

scanner.nextInt()方法

上面的兩個示例代碼都是獲取輸入的字符串,那如果是要獲取數值呢。

看看下面的這段示例代碼。

如上面示例所示,scanner.nextInt()的掃描結果會忽略前面的空格,輸入內容中遇到空格後,從空格開始往後的內容就都不作為掃描結果了。

scanner.nextBigDecimal()方法

如果想要通過java.util.Scanner來獲取一個輸入的BigDecimal對象,則可以使用類似下面示例的代碼。

java.util.Scanner還有很多類似的next方法,比如:nextBigInteger()、nextBoolean()、nextByte()、nextDouble()、nextFloat()、nextLong()、nextShort()等等。

scanner.hasNextXxx()

上面的例子都是輸入的符合掃描結果類型的內容,那如果是不符合對應類型的內容呢。

看看下面的示例。

就像上面的示例所示,執行時就會拋出異常了。那像這樣的要怎麼處理呢。

java.util.Scanner類中每個next方法,都有一個對應的hasNext方法與之對應,這個hasNext方法就可以應對這樣的情況,達到不拋異常,做友好的處理。

來一段代碼示例一下。

像next()方法有對應的hasNext()方法,nextInt()方法有對應的hasNextInt()方法,其他都類似,不再一一列舉了。

今天的內容就到這裡了。

相關焦點

  • 跟我學java編程—Java的Scanner類
    Scanner scanner = new Scanner(System.in);示例1:Scanner類的初始化在D盤Java目錄下,新建「ScannerInitSample.java」文件。語句「import java.util.*;」,用於導入包含Scanner的類庫,Scanner包含在Java 核心類庫util中,要使用Scanner類,必須導入java.util庫,類庫導入關鍵字為import。
  • Java之 Scanner類
    Scanner 類java.util.Scanner 是 Java5 的新特徵,我們可以通過 Scanner 類來獲取用戶的輸入,並通過 Scanner 類的 next() 與 nextLine() 方法獲取輸入的字符串,在讀取前我們一般需要 使用 hasNext 與 hasNextLine 判斷是否還有輸入的數據。
  • java之Scanner類的簡單介紹
    另外,只有java.lang包下的內容不需要導包,其他的包都需要import語句。第二步,創建,格式如下:類名稱 對象名=new 類名稱();第三步,使用,格式:對象名.成員方法名()比如:獲取鍵盤中輸入的double數字:Double num=sc.nextDouble()(有返回值
  • 淺談Java中的hashcode方法
    下面這段代碼是java.util.HashMap的中put方法的具體實現:public V put(K key, V value) { if (key == null) return putForNullKey(value); int hash = hash(key.hashCode()); int i = indexFor(hash, table.length); for (Entry
  • Java 生成隨機數的 5 種方式,你知道幾種?
    方法是 的,因此在多線程情況下,只有一個線程會負責創建偽隨機數生成器(使用當前時間作為種子),其他線程則利用該偽隨機數生成器產生隨機數。Java生成隨機數的幾種高級用法,這篇推薦看一下。 因此 方法是線程安全的。
  • 傳智播客:Java學科API的概述以及Scanner的操作
    這些類將底層的代碼實現封裝了起來,我們編程人員是不用關心這些類是怎麼實現的,需要的是學習這些類的使用方法就可以。所以我們可以通過查詢API的方式,來獲得Java提供的類的學習方法,並學會如何使用它們。格式如下:import 包名.類名;舉個例子看一下:java.util.Scanner;創建對象:
  • JAVA map的用法/如何遍歷MAP
    下面介紹下它的使用方法。第一步,,要引入它所在JAR—— 可以在JAVA類裡直接引入import java.util.*;  這樣until下的所有接口都可以調用,還有常用到的是List. map.entrySet();   //E是泛型,可以指定,也可向我這樣寫         Iterator<E> iterator  =  set.iterator();            while(iterator.hasNext())          {              Map.Entry     mapentry =(Map.Entry) iterator.next
  • java——Scnner()類下面有幾種方法呢?
    一、Scnner類 Scnner類在java.util包中一個可以使用正則表達式來解析基本類型和字符串的簡單文本掃描器然後可以使用不同的 next 方法將得到的標記轉換為不同類型的值。 例如,以下代碼使用戶能夠從 System.in 中讀取一個數: 再看一個例子,以下代碼使 long 類型可以通過 myNumbers 文件中的項分配: 掃描器還可以使用不同於空白的分隔符。
  • 好程式設計師Java培訓分享Java讀寫Properties配置文件
    2.Properties中的主要方法 (1)load(InputStream inStream) 這個方法可以從
  • java常用幾大類庫
    java.lang下的類不需要導包,其他需要。 看類的解釋和說明。 學習構造方法。 使用成員方法。格式:import 包名.類名;舉例:java.util.Scanner;創建對象使用該類的構造方法,創建一個該類的對象。
  • Map集合輸出遍歷的方法
    1、iterator輸出Map集合import java.util.Iterator;import java.util.Map;import java.util.Set;public class HashMapDemo
  • JAVA基礎學習|JAVA中的包總結!
    Java語言類庫中幾個常用的包  1.java.lang包。
  • 認識Java類庫,實現基本的輸出與輸入
    import java.util.Scanner;Java編譯器默認為所有的Java程序引入了Java類庫的Java.lang 包中所有的類。其中定義了一些常用類,如System、String、Object、Math等。因此我們可以直接使用這些類,而不必顯式引入。
  • java_security_calendar_2019(day5-day8)
    Day5示例代碼:import javax.servlet.http.HttpServletRequest;import java.util.Enumeration;publicclassRequest{publicstatic String toString(HttpServletRequest req){ StringBuilder sb = new
  • java SE基礎筆記之string用法
    文檔注釋:/** */-----寫在類和方法及常量(3個地方)的開頭,可以通過javadoc工具,轉換為HTML文檔生成文檔:項目名右鍵---Export----java----javadoc---生成文檔string 是採用了
  • 幾個Java編程的典型例子
    模擬酒店房間管理系統,需要如下幾個功能:1、1 in 房間號 客人名字 入住功能1、2 out 房間號 退房功能1、3 search 房間號 查詢房間狀態 如果房間號為-1 則輸出所有房間狀態1、4 quit 或 exit 退出提示:酒店所有的房間用二維數組來實現代碼實現如下:1 import java.util.Scanner
  • Java並發編程:CountDownLatch、CyclicBarrier和Semaphore
    一.CountDownLatch用法CountDownLatch類位於java.util.concurrent包下,利用它可以實現類似計數器的功能。比如有一個任務A,它要等待其他4個任務執行完畢之後才能執行,此時就可以利用CountDownLatch來實現這種功能了。
  • Java中有這玩意?
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫一:簡潔二:方法引用三:Optional 可選值一:簡潔方法引用分為三種,方法引用通過一對雙冒號:: 來表示,方法引用是一種函數式接口的另一種書寫方式靜態方法引用,通過類名::靜態方法名, 如 Integer::parseInt
  • 萬字梳理,帶你拿下 Java 面試題!
    我們看一下源碼就能發現問題:// 這是 java.util.Arrays 的內部類,而不是 java.util.ArrayList privatestaticclassArrayList<E> extendsAbstractList<E>implementsRandomAccess
  • Java爬蟲之利用Jsoup自製簡單的搜尋引擎
    它提供了一套非常省力的API,可通過DOM,CSS以及類似於jQuery的操作方法來取出和操作數據。Jsoup的官方網址為: https://jsoup.org/, 其API使用手冊網址為:https://jsoup.org/apidocs/overview-summary.html .