コンソールから動的にデータを入力し、そのデータに対してさまざまな処理を行って出力することは、非常に一般的な操作です。次に、データ入力メソッドを体系的に紹介します。
Scanner クラスの呼び出し
関連メソッド:
hasNext()
スキャナーの現在のスキャン位置の後に次の段落があるかどうかを判断します。
hasNextLine()
このスキャナの入力に別の行が存在する場合は true を返します。
next()
このスキャナーから次の完全なトークンを検索して返します。
nextLine()
このスキャナは現在の行を実行し、スキップされた入力情報を返します。
nextInt()
コンソールによってスキャンされた整数データを返します。
関連ビデオチュートリアルの共有: Java 学習ビデオ
コード例:
package FIRST_Chapter; import java.util.Scanner; public class TestScanner { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("请输入字符串:"); while (true) { String line = s.nextLine(); if (line.equals("ok")) break; System.out.println(">>>" + line); } } }
結果のデモンストレーション:
##next() メソッドと nextLine() メソッドの違い
next() メソッドは、入力を終了する前に有効な文字を読み取る必要があります。有効な文字を入力する必要があります。 next() メソッドは、スペース バー、Tab キー、Enter キーなど、以前に検出されたターミネータを自動的に削除します。有効な文字を入力した後でのみ、next() メソッドは、その後に入力されたスペース バー、Tab キー、または Enter キーを削除します。キーなどは区切り文字または終端文字として扱われます。 簡単に言えば、 next() は、このスキャナーから次の完全なトークンを見つけて返します。完全なタグの前後には、区切りパターンに一致する入力情報が続くため、次のメソッドはスペースを含む文字列を取得できません。 nextLine() メソッドの終了文字は Enter キーのみです。つまり、nextLine() メソッドは Enter キーより前のすべての文字を返し、スペースを含む文字列を取得できます。#たとえば、次のプログラム:
package FIRST_Chapter; import java.util.Scanner; class test{ public static void main(String[] Args){ Scanner sc= new Scanner(System.in); System.out.println("请输入一段数据"); String str =sc.next(); System.out.println("用next输入的语句"+str); String str1 =sc.nextLine(); System.out.println("用nextLine输入的语句"+str1); //sc.nextLine();//如果下面注释行想用nextLine的话,就要注意加上这句话 } }
出力結果:
## 結果の出力を変更します:
概要: 次に、入力を終了するスペースまたは改行が出現します。 NextLine は入力を改行 (キャリッジ リターン) でのみ終了します。
2 番目の結果から、入力の終了を示すためにキャリッジ リターンを入力すると、コードの次の行 nextLine もこの時点で入力を終了することがわかります。入力結果は空であり、単なるキャリッジ リターンです。 おすすめの関連記事とチュートリアル:Java 入門チュートリアル
以上がユーザーが入力した文字列を Java に取得させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。