Java Scanner如何獲取字符串和帶空格的字符串
Scanner獲取字符串和帶空格的字符串
next() 針對(duì)不帶空格的字符串
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()針對(duì)帶空格的字符串
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é)束符 |
有效字符前的空格會(huì)自動(dòng)忽略 | 返回輸入回車之前的所有字符 |
有效字符后的空格會(huì)被作為結(jié)束符 | 可以獲得空白字符串 |
綜上,next()不能得到帶有空格的字符串 | 綜上,nextLine()可以得到有空格的字符串 |
使用next()
import java.util.Scanner; public class Demo1 { public static void main(String[] args) { //創(chuàng)建一個(gè)Scanner類的對(duì)象,準(zhǔn)備從鍵盤接收數(shù)據(jù) Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); if (scanner.hasNext()) { //scanner.hasNext() 判斷用戶是否還有輸入 String str=scanner.next(); //如果還有輸入,通過(guò)scanner.next()接收用戶的輸入 String str=scanner.next(); System.out.println("輸出內(nèi)容:"+str); } scanner.close();//屬于I/O流的類,使用結(jié)束后及時(shí)關(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()進(jìn)行字符串的獲取,寫法如下:
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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java.lang.IllegalStateException異常原因和解決辦法
這篇文章主要給大家介紹了關(guān)于java.lang.IllegalStateException異常原因和解決辦法,IllegalStateException是Java標(biāo)準(zhǔn)庫(kù)中的一個(gè)異常類,通常表示在不合適或無(wú)效的情況下執(zhí)行了某個(gè)方法或操作,需要的朋友可以參考下2023-07-07Java+Swing實(shí)現(xiàn)醫(yī)院管理系統(tǒng)的完整代碼
這篇文章主要介紹了Java+Swing實(shí)現(xiàn)醫(yī)院管理系統(tǒng)的完整代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Debian 7 和 Debian 8 用戶安裝 Java 8的方法
Oracle Java 8 穩(wěn)定版本近期已發(fā)布,有很多新的特征變化。其中,有功能的程序支持通過(guò)“Lambda項(xiàng)目 ”,收到了一些安全更新和界面改進(jìn)上的bug修復(fù),使得開(kāi)發(fā)人員的工作更容易。2014-03-03spring boot Rabbit高級(jí)教程(最新推薦)
RabbitMQ的消息過(guò)期是基于追溯方式來(lái)實(shí)現(xiàn)的,也就是說(shuō)當(dāng)一個(gè)消息的TTL到期以后不一定會(huì)被移除或投遞到死信交換機(jī),而是在消息恰好處于隊(duì)首時(shí)才會(huì)被處理,本篇文章給大家介紹spring boot Rabbit高級(jí)教程,感興趣的朋友一起看看吧2023-10-10Netty分布式pipeline傳播inbound事件源碼分析
這篇文章主要為大家介紹了Netty分布式pipeline傳播inbound事件的源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03Java結(jié)合EasyExcel構(gòu)建復(fù)雜多級(jí)表頭
在Java開(kāi)發(fā)中,處理Excel文件時(shí),構(gòu)建復(fù)雜的多級(jí)表頭是一項(xiàng)常見(jiàn)且具有挑戰(zhàn)性的任務(wù),下面小編就來(lái)和大家聊聊如何通過(guò)自定義方法實(shí)現(xiàn)多級(jí)表頭的構(gòu)建吧2025-03-03java報(bào)錯(cuò)之springboot3+vue2項(xiàng)目web服務(wù)層報(bào)錯(cuò)總結(jié)
java入門學(xué)習(xí),隨手記錄一下開(kāi)發(fā)過(guò)程中產(chǎn)生的報(bào)錯(cuò),有些錯(cuò)誤是網(wǎng)上搜索再加上自己嘗試,隨手引用了一些其他人的記錄,也是留給自己看的,或是希望能對(duì)其他初學(xué)者有幫助2023-06-06