流程控制-Scanner(1)
阿新 • • 發佈:2022-03-13
Scanner物件
java.util.Scanner
我們可以通過Scanner類來獲取使用者的輸入
基本語法:
Scanner s = new Scanner(System.in);
通過Scanner類的next()與nextLine()方法獲取輸入的字串,z讀取前我們一般需要使用
hasNext()與hasNextLine()判斷是否還有輸入的資料
next()示例:
public class Demo01 { public static void main(String[] args) { //建立一個掃描器物件,用於接收鍵盤資料 Scanner scanner = new Scanner(System.in); //在IDEA中,enter鍵會自動帶入import java.util.Scanner; System.out.println("使用next方式接收:"); //判斷使用者有沒有輸入字串 if(scanner.hasNext()){ String str = scanner.next(); System.out.println("輸入的內容為:"+str); } //凡是屬於IO流的類,如果不關閉會一直佔用資源,要養成好的習慣; scanner.close(); } }
nextLine()示例:
import java.util.Scanner; public class Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入字元:"); if (scanner.hasNextLine()){ String str = scanner.nextLine(); System.out.println("輸入的字元是:"+str); } scanner.close(); } }
註釋
-
next()
一定要督導有效字元後才可以結束輸入。
對輸入有效字元前遇到的空白,next()方法會自動將其去掉。
只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符。
next()不能得到帶有空格的字串。
-
nextLine()
以Enter為結束符,也就是說nextLine()方法返回的是輸入回車之前的所有字元
可以獲得空白
-
也可以不加判斷直接輸出,示例如下:
public class Demo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入字元:"); String str = scanner.nextLine(); System.out.println("輸入的內容是:"+str); scanner.close(); } }