Java流程控制01——使用者互動Scanner
阿新 • • 發佈:2021-07-15
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