web-dev-qa-db-ja.com

単一のスキャナーオブジェクトを使用した複数のラインのスキャン

私はJavaの初心者なので、これが絶対に馬鹿げているように思える場合は評価を下げないでください

わかりました、単一のスキャナーオブジェクトを使用してこれを入力するには

5

こんにちは。お元気ですか

私の世界へようこそ

6 7

提案するあなたのために

scannerobj.nextInt->nextLine->nextLine->nextInt->nextInt,,,

それをチェックしてください、それは動作しません!!!

ありがとう

12
public static void main(String[] args) {
    Scanner  in    = new Scanner(System.in);

    System.out.printf("Please specify how many lines you want to enter: ");        
    String[] input = new String[in.nextInt()];
    in.nextLine(); //consuming the <enter> from input above

    for (int i = 0; i < input.length; i++) {
        input[i] = in.nextLine();
    }

    System.out.printf("\nYour input:\n");
    for (String s : input) {
        System.out.println(s);
    }
}

サンプル実行:

Please specify how many lines you want to enter: 3
Line1
Line2
Line3

Your input:
Line1
Line2
Line3
21
ifloop

デフォルトでは、スキャナーはスペースを区切り文字として使用します。 forEachRemainingを使用して行ごとにスキャンするには、スキャナーの区切り文字を次のように行に変更します。

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    scanner.useDelimiter("\n");
    scanner.forEachRemaining(System.out::println);
}
1
chirr
public class Sol{

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in); 

       while(sc.hasNextLine()){

           System.out.println(sc.nextLine());
       }

    }
}
1
Raghuveer Reddy

このコードを試してください

Scanner  in    = new Scanner(System.in);

System.out.printf("xxxxxxxxxxxxxxx ");        
String[] input = new String[in.nextInt()];

for (int i = 0; i < input.length; i++) {
    input[i] = in.nextLine();
}

for (String s : input) {
    System.out.println(s);
}
0
Jay kumar

あなたもラムダでのみ試すことができます:

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    scanner.forEachRemaining(input -> System.out.println(input));
}
0

このアプローチを使用できるかもしれません:

for(int i = 0; i < n; i++)
   {
       Scanner sc1 = new Scanner(System.in);
       str0[i] = sc1.nextLine();
       System.out.println(str0[i]);
   }

つまり、nextLineを読み取る前に毎回スキャナーオブジェクトを作成します。 :)

0
Sudarshan