1. 程式人生 > 其它 >Java流程控制01——使用者互動Scanner

Java流程控制01——使用者互動Scanner

使用者互動Scanner

sacnner物件

之前的語法並沒有實現程式與人的互動。java.util.Scanner是Java5的新特徵,我們可以通過Scanner類來獲取使用者的輸入。

基本語法:
Scanner s=new Scanner(System.in);

通過Scanner類的next()與nextLine()方法獲取輸入字串,在讀取前我們一般需要使用hasNext()與hasNextLine()判斷是否還有輸入的資料.

使用next方式接收
package Top2;

import java.util.Scanner;

public class Demon03 {
public static void main(String[] args) {
//建立一個掃描物件,用於接收鍵盤資料
Scanner scanner= new Scanner(System.in);

System.out.println("使用next方式接收");

//判斷使用者有沒有輸入字串
if(scanner.hasNext()==true){
//使用next方式接收
String str=scanner.next();
System.out.println("輸出的內容為:"+str);// hello
}
//凡是屬於IO流的類如果不關閉會一直佔用資源,要養成好習慣用完就關掉
scanner.close();
}
}
使用nextLine方式接收
package Top2;

import java.util.Scanner;

public class Demon04 {
public static void main(String[] args) {
//從鍵盤輸入資料
Scanner scanner=new Scanner(System.in);

System.out.println("使用nextLine方式接收");
//判斷是否還有輸入
if(scanner.hasNextLine()==true){
String str=scanner.nextLine();
System.out.println("輸出的內容為:"+str);// hello world
}
scanner.close();
}
}
next 與 nextLine 接收方式的區別

next():

1.一定要讀取到有效字元後才可以結束輸入

2.對輸入有效字元之前遇到的空白,next()方法會自動將其去掉

3.只有輸入有效字元之後才將其後輸入的空白作為分隔符或者結束符

4.next()不能得到帶有空格的字串

nextLine():

1.以Enter作為結束符 也就是說nextLine()方法返回的是輸入回車之前的所有字元

2.可以獲得空白

輸入輸出基本語句:
package Top2;

import java.util.Scanner;

public class Demon05 {
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();
}
}

2021-07-15