Java Scanner nextLine方法跳過
問題描述
Scanner使用了nextInt方法的時候,如果接下來要使用nextLine,會獲取不到內容
原因
因為Scanner讀取使用者輸入資料,是先判斷緩衝區是否含有資料,沒有則接收使用者輸入的資料,把使用者輸入的資料放在緩衝區中讀取。
Scanner先獲取使用者的內容到緩衝區中,呼叫nextInt方法讀取數值,但是緩衝區的內容裡其實還含有個\n
換行符,nextInt方法將數值取出之後,\n
仍然存在於緩衝區.
之後我們再呼叫nextLine方法,由於緩衝區中還存在有內容,所以Scanner這個時候直接去到了緩衝區讀取,讀取到\n
,直接換行.
於是,Scanner的nextLine方法就跳過,沒有獲取到使用者輸入內容.
解決方法
在使用完nextInt之後呼叫nextLine,將緩衝區中的\n
清除掉
int i = scanner.nextInt();
scanner.nextLine();
相關推薦
Java Scanner nextLine方法跳過
問題描述 Scanner使用了nextInt方法的時候,如果接下來要使用nextLine,會獲取不到內容 原因 因為Scanner讀取使用者輸入資料,是先判斷緩衝區是否含有資料,沒有則接收使用者輸入的資料,把使用者輸入的資料放在緩衝區中讀取。 Scanner先獲取使用者的內容到緩衝區中,呼叫nextI
Java 中nextLine()方法沒有執行直接跳過解決辦法
使用Java的Scanner類nextLne()方法從顯示器輸入資料時,nextInt()後面的nextLine()直接跳過沒有執行; 截圖:第三個輸入直接跳過 通過上網的查詢我終於發現了問題出在哪裡: 原來nextLine()函式獲取的是一整行的內容其中也包括了(\n)也就是換行符 而nextI
學習筆記 Selenium3+java+Eclipse 通過Cookie跳過登入驗證碼
參考文章:https://blog.csdn.net/ab_2016/article/details/78427084 環境: fidder java + selenium Cookie的處理分為: 伺服器向客戶端傳送cookie 瀏覽器將cookie儲存 之
Java從檔案中跳過n個位元組讀取資料
下面例項是跳過前10個位元組,從第11個位元組開始讀取File file = new File("tcp.txt"); FileInputStream stream = new java.io.FileInputStream(file);
論java Scanner 類中的next()方法和nextLine()方法的區別
next()方法不可以接收 字串中的空格 例如:![在這裡插入圖片描述](https://img-blog.csdn.net/20181002113934774?watermark/2/text/aHR0cHM6Ly9ibG9n
java Scanner類中nextLine()方法與nextInt()等聯用時
先看一個簡單的例子: import java.util.Scanner; public class ClassTest{ public static void main(String[] args){ Scanner input=new Scanner(System.
Scanner方法接收鍵盤輸入跳過
Scanner掃描鍵盤輸入如果sc.next();後跟的是sc.nextLine();那麼 nextLine輸入不了,會被跳過。解決辦法:第二個 sc.nextLine();改為sc.next();或者sc.next();與sc.nextLine();之間再加一個sc.nex
java中scanner裡的NextLine()方法讀取資料為空並且為讓從鍵盤輸入
今天我寫了一個程式碼,是用switch來實現的計算器,但是在讓輸入字元的時候,用的是nextLine()方法,可是走到這個方法的時候,並沒有讓我輸入,而是自己輸入了一個"",也就是空字串。package com.baidu.switch1; import java.util
Java的Scanner類中next()方法與nextLine()方法的區別
在學習Java過程中,一次偶然機會,發現在Scanner類中,有兩種接收控制檯輸入字串的方法:next()和nextLine(),那麼兩者有什麼不同之處呢?下面是我自己的一些總結。 一、JDK API文件中對這兩種方法的定義: public String next
JAVA scanner類中next()方法與nextline()方法的區別
在scanner類中有next()和nextline()方法,這兩種方法有什麼區別呢?今天寫了段程式碼測試了下。 程式碼部分 import java.util.Scanner; public class scannerDemo{ public st
java直接生成zip壓縮文件精簡代碼(跳過txt文件)
txt文件 pan cnblogs ace ipo cname exception pre ram /** * @param args */ public static void main(String[] args) throws Excep
關於 Scanner 的 nextLine( ) 方法
col images 程序 readline scan 代碼 回車 tty span 先看以下代碼:Scanner read = new Scanner(System.in);int a = read.nextInt();String str = read.nextLine
C#跳過工作日,計算幾個工作日之後到期的方法
double helper == spa public data- return mes cal 需求:消費者投訴企業,企業在2個工作日之內做出應答。 分析:1.工作日要刨去周末和法定節假日,而且每年的節假日不一樣。 2.消費者可以在任意時間發起投訴,如果在非工作日發起
java Scanner類的nextInt()方法在循環中無法停止的問題
scan 忽略 exce inpu () 整數 成功 如果 標記 我們先看JAVA的api文檔中的原話: 當掃描器拋出 InputMismatchException 時,該掃描器不會傳遞導致該異常的標記,因此可以通過其他某種方法來獲取或跳它。
鍵盤錄入nextLine()跳過不執行
不能 鍵盤錄入 返回 () print bsp 年齡 scanner 定義 今天在寫鍵盤錄入添加信息時出現以下情況: 代碼如下: Scanner sc =new Scanner(System.in); System.out.println("請輸入學號"); int
Java跳過Https安全Get或Post訪問
為了方便以後使用,記錄一下。 一、證書信任管理器 /** * MyX509TrustManager.java 2013-11-29 * * Copyright(c) 2000-2013 Rain, All Rights Reserved. */ package com.rai
Java中next與nextLine方法的區別
1. Java中的Scanner類中的方法next()與nextLine()都是吸取輸入控制檯輸入的字元 ①next()方法不會吸取字元前和後的空格/Tab,只吸取字元,開始吸取字元(字元前後不算) 直到遇到空格/Tab/回車擷取吸取 ②nextLine()吸取字元前後的空格/Tab鍵,回車鍵截
sourcetree跳過註冊的方法
當前只有Win的版本 廢話不多,我們直接開始跳過註冊階段的操作。 下載好之後會有這麼一個介面要求你註冊或登入。(不管它)將下面的一串串放進我的電腦的位址列,開啟sourcetree的資料夾 %LocalAppData%\Atlassian\SourceTree\
Java:為何不等輸入就跳過了?
有BUG的程式碼: public Integer getIntegerNumber(String tips) { System.out.print(tips); re
yum 命令跳過特定(指定)軟體包升級方法
yum -x {package-name} update yum --exclude={package-name} update這個是格式去掉某某包,可以用正則表示式來控制 yum -x firefox*,ibus*,java* update -y 多個包一起去除 新增