ホームページ >Java >&#&チュートリアル >Javaスキャナーの使い方を詳しく解説
#Java スキャナーの使用法の詳細な説明
#Java スキャナー クラス
java .util.Scanner は Java5 の新機能で、Scanner クラスを通じてユーザー入力を取得できます。 次は、Scanner オブジェクトを作成するための基本的な構文です。Scanner s = new Scanner(System.in);次に、最も単純なデータ入力を示し、Scanner の next() メソッドと nextLine() メソッドを通じて入力文字を取得します。クラス String を読み取る前に、通常、hasNext と hasNextLine を使用して入力データがまだあるかどうかを判断する必要があります: 次のメソッドを使用します: ScannerDemo.java ファイル コード:
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ネクストモード受信:
runoob com入力データは: runoobcom 文字列が次のとおりであることがわかります。出力されない場合は、次は nextLine を参照してください。 使用する nextLine メソッド: ScannerDemo.java ファイル コード:
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 ScannerDemonextLine モード受信:
runoob com入力データは次のとおりです: runoob comcom 文字列の出力を確認できます。
next() と nextLine() の違い
next():1. 入力は、有効な文字が入力された後にのみ完了する必要があります。読む。 。 2. next() メソッドは、有効な文字を入力する前に見つかった空白を自動的に削除します。 3. 有効な文字を入力した後のみ、文字の後に入力した空白を区切り文字または終了文字として使用してください。 next() はスペースを含む文字列を取得できません。 nextLine(): 1. Enter は終了文字であり、nextLine() メソッドが入力前のすべての文字を返すことを意味します。 2. 空白スペースを取得できます。 int 型または float 型のデータを入力する場合は、Scanner クラスでもサポートされていますが、入力前に hasNextXxx() メソッドを使用して検証し、nextXxx() を使用して読み取るのが最善です。 :ScannerDemo.java ファイル コード:
import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); // 从键盘接收数据 int i = 0; float f = 0.0f; System.out.print("输入整数:"); if (scan.hasNextInt()) { // 判断输入的是否是整数 i = scan.nextInt(); // 接收整数 System.out.println("整数数据:" + i); } else { // 输入错误的信息 System.out.println("输入的不是整数!"); } System.out.print("输入小数:"); if (scan.hasNextFloat()) { // 判断输入的是否是小数 f = scan.nextFloat(); // 接收小数 System.out.println("小数数据:" + f); } else { // 输入错误的信息 System.out.println("输入的不是小数!"); } scan.close(); } }上記のプログラムを実行した出力結果は次のとおりです:
$ javac ScannerDemo.java $ java ScannerDemo 输入整数:12 整数数据:12 输入小数:1.2 小数数据:1.2次の例では、複数の数値を入力してその数値を見つけることができます。合計と平均 1 を入力するたびに Enter で数値を確定 数値以外を入力して入力を終了し、実行結果を出力: ScannerDemo.java ファイル コード:
import java.util.Scanner; class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(System.in); double sum = 0; int m = 0; while (scan.hasNextDouble()) { double x = scan.nextDouble(); m = m + 1; sum = sum + x; } System.out.println(m + "个数的和为" + sum); System.out.println(m + "个数的平均值是" + (sum / m)); scan.close(); } }上記のプログラムを実行した出力結果は次のとおりです:
$ javac ScannerDemo.java $ java ScannerDemo 12 23 15 21.4 end 4个数的和为71.4 4个数的平均值是17.85Recommendation: "
javalearning"
以上がJavaスキャナーの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。