1. 程式人生 > 其它 >使用者互動Scanner(Java)

使用者互動Scanner(Java)

基本介紹

1.next()

  • 一定要讀取到有效字元後才可以結束輸入
  • 對輸入有效字元之前遇到的空白,next()方法會自動將其去掉
  • 只有輸入有效字元後才將其後面的空白作為分隔符或者結束符
  • next()不能得到帶有空格的字串

2.nextLine():

  • 以Enter為結束符,也就是說nextLine()方法返回的是輸入回車鍵之前的所有字元
  • 可以獲得空白

例項展示

public class ScannerDx {
    public static void main(String[] args) {
        //建立一個掃描器物件,用於接受鍵盤資料
        Scanner scanner = new Scanner(System.in);
        System.out.println("使用next方式接收:");
        //判斷使用者有沒有輸入字串
        if (scanner.hasNext()){//表示正確:scanner.hasNext()=true,可省略=true
            //使用next方式接收
            String str=scanner.next();//程式會等待使用者輸入完畢(使用者輸入:Hello World)
            System.out.println("輸出的內容為:"+str);//輸出內容為:Hello
        }

        System.out.println("使用nextLine方式接收:");
        String string=scanner.nextLine();//(使用者輸入:Hello World)
        System.out.println("輸出內容為:"+string);//輸出內容為:Hello World

        //凡是屬於IO流的類如果不會關閉就會一直佔用資源,養成好習慣用完就關掉
        scanner.close();

        //例項
        Scanner scanner1=new Scanner(System.in);
        System.out.println("請輸入一個整數:");
        int i=0;
        if (scanner1.hasNextInt()) {
            i=scanner1.nextInt();
            System.out.println("輸出整數為:"+i);
        }else{
            System.out.println("輸出資料不是整數。");
        }
        float f=0.0f;
        System.out.println("請輸入一個小數");
        if (scanner1.hasNextFloat()){
            f=scanner1.nextFloat();
            System.out.println("輸出小數為:"+f);
        }else{
            System.out.println("輸出資料不是小數。");
        }
        scanner1.close();
    }
}