2013-04-19 10 views
39

ArrayListをシャッフルするメソッドを書く際に助けが必要です。私は自分の方法で何を配置するのか分かりません。ここまで私がこれまで持っていたことがあります。私はリスト内の整数をランダム化するためにランダムメソッドを使用しようとしましたが、うまくいきませんでした。誰かが私にこれを行う方法を教えてもらえますか?ArrayListをシャッフルする方法

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

public class Lab 11 { 
    public static void main(String[] args) { 
    ArrayList<Double> list = new ArrayList<Double>(); 

    Scanner input = new Scanner(System.in); 
    System.out.print("Enter integers (input ends with 0): "); 
    double value; 

    do { 
     value = input.nextDouble(); // Read a value from the input 

     if (value != 0) 
     list.add(value); // Add the value if it is not in the list 
    } while (value != 0); 
    System.out.println("The maximum number is " + max(list)); 

    System.out.print("Enter five double values: "); 
    for (int i = 0; i < 5; i++) 
     list.add(input.nextDouble()); 

    System.out.println("The sum is " + sum(list)); 

    } 

    public static Double max(ArrayList<Double> list) { 
    if (list == null || list.size() == 0) 
     return null; 

    double result = list.get(0); 
    for (int i = 1; i < list.size(); i++) 
     if (result < list.get(i)) 
     result = list.get(i); 

    return result; 
    } 

    public static double sum(ArrayList<Double> list) { 
    double sum = 0; 
    for (int i = 0; i < list.size(); i++) 
     sum += list.get(i); 
    return sum; 
    } 
} 
+5

['Collections#shuffle(リストリスト)'](http://docs.oracle.com/javase/6/docs/api/java/util/Collections.html)を使用してください。 – skuntsel

+0

http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#The_modern_algorithm – Aurand

+1

「_randomメソッド_」をどこにも使用していません。何も試していないようで、最後の課題を質問ボックスに貼り付けただけのようです。何か特別なことがあれば質問してみてください。このサイトには、リストをランダム化する方法を説明する多くの質問があります。 – jahroy

答えて

97
Collections.shuffle(arrayList); 
+1

そのシャッフルされたArrayListの結果をどうやってプリントアウトしますか? – santafebound

+0

@santafebound Arrays.toString(arrayList.toArray()); –

18

この方法のCollections.shuffle(list) .IFの使用を試してみて、問題を解決するために禁止され、その後、1は実際の実装を見ることができます:ここで

は、私が試したコードがあります。

+1

明らかにこれは宿題です.... – jahroy

+0

もしそうなら、OPはrt.jarを参照してこのメ​​ソッドの実際の実装を行うことができます – NINCOMPOOP

+0

OK、コードを削除しました! – NINCOMPOOP

関連する問題