Javaのnext()とnextLine()の違いは何ですか?

王林
リリース: 2020-08-21 16:28:09
転載
4627 人が閲覧しました

Javaのnext()とnextLine()の違いは何ですか?

まず、Java の Scanner クラスのメソッド next() と nextLine() がユーザー入力を取得するために使用されることがわかります。

(推奨チュートリアル: java 入門チュートリアル)

2 つの違いを見てみましょう:

next() は、スペース/Tabキーの前/後の文字のみを取得します。スペース/Tab キー/Enter キーが見つかるまで文字の取得を開始します (前後の文字はカウントしません); nextLine() は文字の前後のスペース/Tab キーを取得し、Enter キーが見つかったときに終了します。

例:

import java.util.Scanner;
import java.util.Vector;

public class Main{
    public static void main(String args[]) {
        Scanner reader=new Scanner(System.in);
        String s1=reader.nextLine();
        String s2=reader.next();
        System.out.println(s1);
        System.out.println(s2);
    }
}
ログイン後にコピー

実行結果:

Javaのnext()とnextLine()の違いは何ですか?

##next() が askldfj 文字のみを取得していることがわかります。 、スペース以降はすべて破棄されます。

next() と nextLine() の順序を変更する

import java.util.Scanner;
import java.util.Vector;

public class Main{
    public static void main(String args[]) {
        Scanner reader=new Scanner(System.in);
        String s1=reader.next();
    //    String ss=reader.nextLine();
        String s2=reader.nextLine();
        System.out.println(s1);
        System.out.println(s2);
    }
}
ログイン後にコピー

(推奨チュートリアル:

java コース )

サンプルを実行する:


Javaのnext()とnextLine()の違いは何ですか?

aaaa bbbb cccc と入力しただけで、システムは次の 2 行を自動的に出力します。

aaaa
 bbbb cccc
ログイン後にコピー

aaaa の後にスペースがあるため、next は必要ありません。読み取り後、残りの bbbb cccc は nextLine によって取得されました。

解決策は、上記のコードに記載されている nextLine() を追加することです

import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        String s1=reader.next();
        String s2=reader.nextLine();
        System.out.println(s1);
        System.out.println(s2);
    }
}
ログイン後にコピー

実行結果:

abcdefg abcdefg
      //剩下两行
ログイン後にコピー
Input abcdefg 以降の復帰プログラムが終了し、abcdefg と 2 つの改行が出力されるのは、nextLine が next 以降の復帰を吸収するためです。

2 つの nextLine を互いに接続しないように十分注意してください。 next を使用する場合は、このようなことは起こりません。next によって吸収される最初の要件は文字であり、最後の要件はスペース、Tab キー、および Enter キーであるためです。

以上がJavaのnext()とnextLine()の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート