-3

drawerList() メソッドで drawerNumber() からの出力を見て、それらを配列に追加する方法はありますか。重複を見つけて保存された値の両方を出力し、おそらく乱数の重複を見つけてそれらの出力を「すでに描画された」としてマークする if else ステートメントを作成するために、出力を配列リストに保存したい これは私の最初のものですCSの学期で、私は学習段階にあるので、私がやろうとしていることは私の知識から外れているように感じ、何をすべきかわかりません.

import java.util.Scanner; 


import java.util.Random;

class RandomNumbers{
    public static void main(String [] args){

 System.out.println(drawerNumbers());
}

//drawerNumbers()-draws new numbers



public static int drawerNumbers(){
    Random rand = new Random();
    int num = rand.nextInt(75)+1;
    return num;
}

//  drawerList()- List of numbers drawn
 public static int drawerList(){ //Method.
  String p = Integer.toString(drawerList()); //Convert method into string in order to be put in array
int[] numbers = new int[p.length()]; // creates the array to store the values

//

この後、出力をコンソールにリストする方法と、プログラムに重複した乱数を見つける方法がわかりません。


`

  1. 見出し

` ##

4

1 に答える 1

1

あなたの意図は、数字を繰り返さずに 1 から 75 までの数字をランダムに選択することです。これは、問題を逆にして 1 ~ 75 の数字をランダムに並べ替えてから反復処理することで、最も簡単に実行できます。

List<Integer> nums = new ArrayList<Integer>(75);
for (int i = 1; i < 75; i++)
    nums.add(i);
Collections.shuffle(nums);

現在、それらはランダムな順序になっています。1 つずつ使用してください。

for (Integer i : nums) {
    // use i
}
于 2013-11-13T04:39:45.913 に答える