0

ユーザーが値を入力する必要があるメソッドfillArrayListの対応する要素で2つのリストを埋めるにはどうすればよいですか

import java.util.ArrayList;
import java.util.Scanner;

class Assignment1
{
    public static void main(String[] args)
    {
      ArrayList<Integer> list1 = new ArrayList<Integer>();
      ArrayList<Integer> list2 = new ArrayList<Integer>();

      System.out.println("Enter your lists = ");
      fillArrayList(list1,list2);

    }

    public static void fillArrayList(ArrayList<Integer> L1 ,ArrayList<Integer> L2 )
    {
           //don't know what to do here to fill two lists from the user , really need help

    }
4

4 に答える 4

1

fillArrayList一度に1 つのリストを埋めるように署名を変更する必要があると思います。また、2つの配列リストに対して2回呼び出すことができます。

したがって、あなたの方法は次のようになります: -

public static void fillArrayList(ArrayList<Integer> myList) {
    /* Let the code be same as the one in @AmitD's post */

    Scanner scanner = new Scanner(System.in);
    System.out.println("Enter elemetns for List: Enter -1 to end ");

    while (scanner.hasNext()) {
        if (scanner.hasNextInt()) {
            int i = scanner.nextInt();
            if (i == -1)
                break;

            myList.add(i);
        } else {
            System.out.println("Invalid value Please enter integer");
            scanner.next();
        }
    }

}

次に、メイン メソッドの外で、2 つのリストをインスタンス変数として宣言します。そしてList、参照型に使用します。

List<Integer> list1 = new ArrayList<Integer>();
List<Integer> list2 = new ArrayList<Integer>();

これで、メイン メソッドから、次のようにリストごとにこのメソッドを 2 回呼び出すことができます。

fillArrayList(list1);
fillArrayList(list2);

また、メイン メソッドに戻って、メソッドで行った変更がfillArrayListそこにも反映されるため、リストを印刷できます。

System.out.println(list1);
System.out.println(list2);
于 2012-10-25T08:21:05.777 に答える
1

fillArrayList 内では、ループが必要です。配列リストのサイズは不定であるため、何らかの終了入力が必要になります。必要な数値がすべて正の場合、簡易終了入力は負の数値になります。つまり、while ループを使用し、入力が負の場合はループを停止します。

ユーザーから値を取得するには、 Scanner クラスを使用します。整数を取得するために必要なメソッドは nextInt() メソッドです。

整数を取得したら、 add メソッドを使用してリストに追加します。

于 2012-10-25T08:06:46.083 に答える
0

あなたがする必要があるのは、ユーザーからの入力を取得し、それをintorとして読み取り、単にArrayList.add(E o)Integerを呼び出すことだけです

于 2012-10-25T08:04:59.240 に答える
0

ユーザーから入力を取得してリストに追加するには、Scannerを使用する必要があります。

public static void fillArrayList(ArrayList<Integer> l1,
        ArrayList<Integer> l2) {
    // don't know what to do here to fill two lists from the user , really
    // need help
    Scanner scanner = new Scanner(System.in);

    System.out.println("Enter elemetns for List 1: Enter -1 to end ");

    while (scanner.hasNext()) {
        if (scanner.hasNextInt()) {
            int i = scanner.nextInt();
            if (i == -1)
                break;
            l1.add(i);
        } else {
            System.out.println("Invalid value Please enter integer");
            scanner.next();
        }
    }
    System.out.println("Your List :"+ l1);

    //Do same for List 2
}
于 2012-10-25T08:05:07.233 に答える