teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

javaソースコード

2015/09/05 06:54

投稿

s36a
s36a

スコア8

title CHANGED
File without changes
body CHANGED
@@ -22,4 +22,44 @@
22
22
  for(int i=0; i<10; i++) {
23
23
  int x = 0;
24
24
  x = list.get(i);
25
- }
25
+ }
26
+
27
+
28
+ <追記2>
29
+ import java.util.*;
30
+ import java.lang.*;
31
+ import java.io.*;
32
+
33
+ public class Test1{
34
+ public static void main(String []args){
35
+
36
+
37
+ ArrayList<Integer>random = new ArrayList<Integer>();
38
+ ArrayList<Integer> copy = new ArrayList<Integer>();
39
+
40
+ for (int y = 0; y < 100; y++ ) {
41
+ random.add(y);
42
+ }
43
+
44
+
45
+ System.out.println("1回目シャッフルした場合");
46
+ Collections.shuffle(random);
47
+ System.out.println(random);
48
+
49
+ for(int f=0; f<10; f++) {
50
+ int x_list = random.get(f);
51
+ copy.add(x_list);
52
+ random.add(x_list);
53
+ }
54
+
55
+ System.out.println("1回目に採用する10個の数字は");
56
+ System.out.println(copy);
57
+
58
+ System.out.println("2回目行うときにランダムリストに1回目の数字を追加");
59
+ System.out.println(random);
60
+
61
+
62
+ }
63
+ }
64
+
65
+ ここまでは書けました.やはり再度シャッフル際にリストから弾く場合はremoveを使うのでしょうか?

2

ソースコードあり

2015/09/05 06:54

投稿

s36a
s36a

スコア8

title CHANGED
File without changes
body CHANGED
@@ -6,4 +6,20 @@
6
6
 
7
7
  例えば,1〜100の配列があった際に,シャッフルして10個の配列を選びます.
8
8
  選択された10個の配列には重みを付けます.
9
- そして,もう1回シャッフルする際に先ほど選択した10個の配列(重みのある)が出やすくするような感じにシャッフルをしたいのですが...
9
+ そして,もう1回シャッフルする際に先ほど選択した10個の配列(重みのある)が出やすくするような感じにシャッフルをしたいのですが...
10
+
11
+ <追記>回答ありがとうございます.ちょっとやってみているのですが,ちょっとうまくいきません.
12
+
13
+
14
+ ArrayList<Integer> list = new ArrayList<Integer>();
15
+
16
+ for ( int y = 0; y < 100; y++ ) {
17
+ list.add(y);
18
+ }
19
+
20
+ Collections.shuffle(list);
21
+
22
+ for(int i=0; i<10; i++) {
23
+ int x = 0;
24
+ x = list.get(i);
25
+ }

1

イメージしやすいような例を書きました

2015/09/03 16:48

投稿

s36a
s36a

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,9 @@
1
1
  javaに関する質問なんですが,配列をシャッフルして選択された際に.
2
2
  選択されたものに重みを付けて,2回目シャッフルする際に,
3
- その重みを考慮した選択にするにはどのようにしたらよいでしょうか?
3
+ その重みを考慮した選択にするにはどのようにしたらよいでしょうか?
4
+
5
+ ちょっとイメージしにくいかもしれませんが,
6
+
7
+ 例えば,1〜100の配列があった際に,シャッフルして10個の配列を選びます.
8
+ 選択された10個の配列には重みを付けます.
9
+ そして,もう1回シャッフルする際に先ほど選択した10個の配列(重みのある)が出やすくするような感じにシャッフルをしたいのですが...