Scannerとは何ですか?next()とhas Next()?nextLine()とhas NextLine()?

1771 ワード

java.util.ScannerはJava 5の新しい特徴であり、Scannerクラスを通じてユーザーの入力を取得することができます。
Scanner sc = new Scanner(System.in);
Scanner類のnext()とnextLine()の方法で入力文字列を取得します。読む前にhasNextとhas NextLineを使って入力データがあるかどうかを判断します。
next()->has Next()
nextLine()>>has NextLine()
nextメソッド
import java.util.Scanner; 
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //        
 
        // next       
        System.out.println("next    :");
        //         
        if (scan.hasNext()) {
            String str1 = scan.next();
            System.out.println("      :" + str1);
        }
        scan.close();
    }
}
出力:
$ javac ScannerDemo.java
$ java ScannerDemo
next    :
runoob com
      :runoob
nextLine()メソッド
import java.util.Scanner;
 
public class ScannerDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //        
 
        // nextLine       
        System.out.println("nextLine    :");
        //         
        if (scan.hasNextLine()) {
            String str2 = scan.nextLine();
            System.out.println("      :" + str2);
        }
        scan.close();
    }
}
 出力:
$ javac ScannerDemo.java
$ java ScannerDemo
nextLine    :
runoob com
      :runoob com
next()とnextLine()の比較:
next():
  • 1、有効文字を必ず読み取ってから入力を終了することができます。
  • 、有効文字を入力する前に発生した空白は、next()メソッドが自動的に削除されます。
  • 3、有効文字が入力された後に入力された空白だけを区切りまたは終端とします。
  • 4、next()はスペースがある文字列を得ることができません。
  • nextLine():
  • 1、Enterを終符とし、つまりnextLine()の方法で戻るのは、車に返す前のすべての文字を入力します。
  • 、空白が得られます。
  •