6

私は問題を見ています:

一連の整数を読み取り、昇順に表示するプログラムを作成します。

ArrayList (私は初めてです) を作成していて、コマンド ラインから入力された整数を入力したいと考えています。配列を使用すると、 for ループを使用できます

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

しかし、無制限のサイズの ArrayList では、入力を処理する方法がわかりませんか?

編集:

class SortNumbers {

public static void main(String[] args) {

List numbers = new ArrayList();
Scanner scanner = new Scanner(System.in);
System.out.println("Enter some numbers.");

while (scanner.hasNextInt()) {
int i = scanner.nextInt();
numbers.add(i);
    }
  }
}
4

7 に答える 7

8

ArrayList を使用するアイデアは、決定論的な反復回数を避けることです。次のようなことを試してください:

ArrayList<Integer> mylist = new ArrayList<Integer>();
while (sc.hasNextInt()) {
    int i = sc.nextInt();
    mylist.add(i);
}
于 2012-08-21T13:48:09.953 に答える
5

私はむしろスキャナーを繰り返し、リストに追加したいだけです:

List<Integer> list = new ArrayList<Integer>();
while(scanner.hasNextInt())
      list.add(scanner.nextInt());
}

それから並べ替えます。

于 2012-08-21T13:47:57.243 に答える
2

ArrayListaddメソッドを使用する必要があります

例:

arraylist.add(nextVale);

forarraylistの使用中にループを実行する必要はありません。コンテンツを追加すると、リストのサイズが自動的に大きくなります。

于 2012-08-21T13:44:23.283 に答える
1

まず、があれば、要素へのアクセス/設定にArrayListは使用しません。[]これは配列用であり、とは異なりArrayListます。あなたはadd方法を使うでしょう、

次に、ArrayListを並べ替える必要があります。APIでチェックアウトします。Collections.sort

最後に、リストを反復処理するために、利用可能な多くの構成があります。最も一般的なものの1つは..

List<Integer> numbers = new ArrayList<Number>();

numbers.add(1);
numbers.add(2);
...

for (Integer number : numbers) {
   System.out.println(number);
}
于 2012-08-21T13:47:15.560 に答える
0

それほど難しいことではありません。配列リストを使っているのでとても簡単です!

import java.util.*;
class Arr{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);//initializing scanner class
String cont="";//String to check whether the user wants to input anymore numbers or not
List<Double> n=new ArrayList<Double>();//List that will store our numbers
while(!(cont.equals("no"))){//taking continuous input

        System.out.println("Enter number:");
        n.add(sc.nextDouble());

        System.out.println("Do you want to continue?(type 'yes'/'no')");
        cont=sc.next();
    }
Collections.sort(n);//sorts your ArrayList
System.out.println("Sorted list:");
for (Double value : n) {//displaying sorted list
        System.out.println( value);
}
}
}
于 2021-12-19T07:08:18.957 に答える
0
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class sortArrayList {

    public static void main(string args[]) {
        List<Integer> arrList = new ArrayList<Integer>();
        while (scanner.hasNextIint()) {
            arrList.add(scanner.nextInt());
        }
        Collections.sort(arrList);
    }
}
于 2012-08-21T13:57:09.017 に答える