Java Scanner如何獲取字符串和帶空格的字符串
更新時間:2023年08月25日 14:18:21 作者:無奈的碼農(nóng)
這篇文章主要介紹了Java Scanner如何獲取字符串和帶空格的字符串問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Scanner獲取字符串和帶空格的字符串
next() 針對不帶空格的字符串
public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("地址:"); String host = s.next(); System.out.println("host = " + host); System.out.print("端口:"); String port = s.next(); System.out.println("port = " + port); System.out.print("用戶名:"); String user = s.next(); System.out.println("user = " + user); System.out.print("帶空格的用戶名:"); String userSpace = s.next(); System.out.println("userSpace = " + userSpace); }
nextLine()針對帶空格的字符串
public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print("地址:"); String host = s.nextLine(); System.out.println("host = " + host); System.out.print("端口:"); String port = s.nextLine(); System.out.println("port = " + port); System.out.print("用戶名:"); String user = s.nextLine(); System.out.println("user = " + user); System.out.print("帶空格的用戶名:"); String userSpace = s.nextLine(); System.out.println("userSpace = " + userSpace); }
Scanner類——獲取用戶輸入的字符串
注意區(qū)分Scanner類中的獲取輸入字符串的兩種方法:
next() 和 nextLine()
next() | nextLine() |
---|---|
一定要讀取到有效字符后才可以結(jié)束輸入 | 以Enter回車鍵作為結(jié)束符 |
有效字符前的空格會自動忽略 | 返回輸入回車之前的所有字符 |
有效字符后的空格會被作為結(jié)束符 | 可以獲得空白字符串 |
綜上,next()不能得到帶有空格的字符串 | 綜上,nextLine()可以得到有空格的字符串 |
使用next()
import java.util.Scanner; public class Demo1 { public static void main(String[] args) { //創(chuàng)建一個Scanner類的對象,準備從鍵盤接收數(shù)據(jù) Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); if (scanner.hasNext()) { //scanner.hasNext() 判斷用戶是否還有輸入 String str=scanner.next(); //如果還有輸入,通過scanner.next()接收用戶的輸入 String str=scanner.next(); System.out.println("輸出內(nèi)容:"+str); } scanner.close();//屬于I/O流的類,使用結(jié)束后及時關(guān)閉,否則將一直占用資源 } }
示例:
使用nextLine()
import java.util.Scanner; public class Demo2 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收:"); if (scanner.hasNextLine()){ String str = scanner.nextLine(); System.out.println("輸出內(nèi)容:"+str); } scanner.close(); } }
示例:
常用nextLine()進行字符串的獲取,寫法如下:
import java.util.Scanner; public class Demo3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str=scanner.nextLine(); //接收用戶輸入,直至敲下回車結(jié)束,將輸入保存為字符串 System.out.println("輸出的內(nèi)容:"+str); scanner.close(); } }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java.lang.IllegalStateException異常原因和解決辦法
這篇文章主要給大家介紹了關(guān)于java.lang.IllegalStateException異常原因和解決辦法,IllegalStateException是Java標準庫中的一個異常類,通常表示在不合適或無效的情況下執(zhí)行了某個方法或操作,需要的朋友可以參考下2023-07-07Java+Swing實現(xiàn)醫(yī)院管理系統(tǒng)的完整代碼
這篇文章主要介紹了Java+Swing實現(xiàn)醫(yī)院管理系統(tǒng)的完整代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05Debian 7 和 Debian 8 用戶安裝 Java 8的方法
Oracle Java 8 穩(wěn)定版本近期已發(fā)布,有很多新的特征變化。其中,有功能的程序支持通過“Lambda項目 ”,收到了一些安全更新和界面改進上的bug修復(fù),使得開發(fā)人員的工作更容易。2014-03-03Netty分布式pipeline傳播inbound事件源碼分析
這篇文章主要為大家介紹了Netty分布式pipeline傳播inbound事件的源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03Java結(jié)合EasyExcel構(gòu)建復(fù)雜多級表頭
在Java開發(fā)中,處理Excel文件時,構(gòu)建復(fù)雜的多級表頭是一項常見且具有挑戰(zhàn)性的任務(wù),下面小編就來和大家聊聊如何通過自定義方法實現(xiàn)多級表頭的構(gòu)建吧2025-03-03java報錯之springboot3+vue2項目web服務(wù)層報錯總結(jié)
java入門學(xué)習(xí),隨手記錄一下開發(fā)過程中產(chǎn)生的報錯,有些錯誤是網(wǎng)上搜索再加上自己嘗試,隨手引用了一些其他人的記錄,也是留給自己看的,或是希望能對其他初學(xué)者有幫助2023-06-06