web-dev-qa-db-ja.com

javaを使用して配列でユーザー入力を取得する方法は?

javaを使用して配列でユーザー入力を取得する方法は?つまり、私たちはプログラムで自分で初期化するのではなく、ユーザーがその価値を与えるつもりです。

6
sadia

stdinから文字列を読み取り、List<String>に追加し、toArrayを使用してString[]に変換する簡単なコードを次に示します(もしreallyは配列を扱う必要があります)。

import Java.util.*;

public class UserInput {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        Scanner stdin = new Scanner(System.in);

        do {
            System.out.println("Current list is " + list);
            System.out.println("Add more? (y/n)");
            if (stdin.next().startsWith("y")) {
                System.out.println("Enter : ");
                list.add(stdin.next());
            } else {
                break;
            }
        } while (true);
        stdin.close();
        System.out.println("List is " + list);
        String[] arr = list.toArray(new String[0]);
        System.out.println("Array is " + Arrays.toString(arr));
    }
}

こちらもご覧ください:

7
package userinput;

import Java.util.Scanner;

public class USERINPUT {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        //allow user  input;
        System.out.println("How many numbers do you want to enter?");
        int num = input.nextInt();

        int array[] = new int[num];

        System.out.println("Enter the " + num + " numbers now.");

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

        //you notice that now the elements have been stored in the array .. array[]

        System.out.println("These are the numbers you have entered.");
        printArray(array);

        input.close();

    }

    //this method prints the elements in an array......
    //if this case is true, then that's enough to prove to you that the user input has  //been stored in an array!!!!!!!
    public static void printArray(int arr[]){

        int n = arr.length;

        for (int i = 0; i < n; i++) {
            System.out.print(arr[i] + " ");
        }
    }

}
5
Busker Ott
import Java.util.Scanner;

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

        System.out.println ("how many number you want to put in the pot?");
        int num = input.nextInt();
        int numbers[] = new int[num];

        for (int i = 0; i < num; i++) {
            System.out.println ("number" + i + ":");
            numbers[i] = input.nextInt();
        }

        for (int temp : numbers){
            System.out.print (temp + "\t");
        }

        input.close();
    }
}
2
nazmus saif

次のことができます。

import Java.util.Scanner;

public class Test {

        public static void main(String[] args) {

        int arr[];
        Scanner scan = new Scanner(System.in);
        // If you want to take 5 numbers for user and store it in an int array
        for(int i=0; i<5; i++) {
            System.out.print("Enter number " + (i+1) + ": ");
            arr[i] = scan.nextInt();    // Taking user input
        }

        // For printing those numbers
        for(int i=0; i<5; i++) 
            System.out.println("Number " + (i+1) + ": " + arr[i]);
    }
}
1
John

これは、この入力をどのように使用するか、つまり、プログラムがどのようにユーザーと対話するかによって大きく異なります。

最も単純な例は、実行可能ファイルをバンドルする場合です。この場合、ユーザーはコマンドラインで配列要素を指定するだけで、対応する配列にアプリケーションのmainメソッドからアクセスできます。

または、何らかの種類のwebappを作成している場合は、クエリパラメータを手動で解析するか、アプリケーションのdoGet/doPostメソッドで値を受け入れたい場合があります。解析ページに送信するHTMLフォームを持つユーザー。

Swingアプリケーションの場合、ユーザーが入力を入力するためのテキストボックスをポップアップ表示することをお勧めします。また、他のコンテキストでは、ユーザーが以前にデポジットしたデータベース/ファイルから値を読み取ることができます。

基本的に、入力を配列として読み取るのは非常に簡単です。一度get inputへの方法を見つけたら。アプリケーションを実行するコンテキスト、およびユーザーがこのタイプのアプリケーションとどのように対話することを期待するかを考えてから、意味のあるI/Oアーキテクチャを決定する必要があります。

0
Andrzej Doyle

**ユーザー入力によって配列を受け入れる方法

回答:-

import Java.io.*;

import Java.lang.*;

class Reverse1  {

   public static void main(String args[]) throws IOException {

     int a[]=new int[25];

     int num=0,i=0;

     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

     System.out.println("Enter the Number of element");

     num=Integer.parseInt(br.readLine());

     System.out.println("Enter the array");

     for(i=1;i<=num;i++) {
        a[i]=Integer.parseInt(br.readLine());
     }

     for(i=num;i>=1;i--) {
        System.out.println(a[i]);    
     }

   }

}
0