2017-02-11 5 views
0
import java.util.Random; 
public class test{ 
public static void main(String[] args){ 

    System.out.println(qq(30)); 
} 

public static int qq(int range){ 
    Random generator=new Random(); 
    int[] aa = new int[range];  //create an array with "range" elements 
    for (int w=0;w <range;w++) { 
     aa[w] = generator.nextInt(20);// assign random numbers to array aa 
    } 
    int ee=0; //number of times 
    outerloop: 
    for(int i =0;i<range;i++){ 
     for(int j=i+1;j<range-1;j++){ 
      if (aa[i]==aa[j]){ 
       break outerloop;//if aa[i] and aa[j] are the same,break and return ee 

      } 
      else{ 
       ee++; //if aa[i] and aa[j] are not the same, ee++ and keep going 
      } 
     } 
    } 
    return ee;//return the min number of failed match attempts 

} 
} 

私はこのプログラムを10回繰り返します(10 "ee"を受信します)。これらの結果を保存するにはどうすればこれらの10個の数字を使うことができますか?後で平均を見つける。私は何度もプログラムを繰り返したい。これらの結果を別のクラスに記録するにはどうすればいいですか?

+1

クラスが実際に話していることは記録できません。あなたは結果をファイルに書き出すことができます。それはかなり正常です。 – markspace

+0

OTOHでは、 'main'で' qq() 'を呼び出すと、それをループに入れ、結果を配列に記録することができます。 – markspace

+0

あなたは正しいです!ありがとう –

答えて

0

結果をリストまたは配列に格納できます。別のクラスを作成する必要はありません。組み込みユーティリティクラスや配列を使用して目標を達成することができます。 Listに値を格納するには、メインメソッドの本体を次のように置き換えます。

java.util.List<Integer> l=new java.util.ArrayList<>(); 
int sum=0; 
for (int i=0; i<10; i++){ 
    int a=qq(30); 
    l.add(a); 
    sum+=a; 
} 
System.out.print(sum); 

整数の配列を使用する場合は、メインメソッドの本体を次のように置き換えます。

int ar[]=new int[10]; 
int sum=0; 
for (int i=0; i<ar.length; i++){ 
    int a=qq(30); 
    ar[i]=a; 
    sum+=a; 
} 
System.out.print(sum); 

あなたがArrayListを使用する必要はありませんよりも、合計で&だけで興味を持って結果を保存したくない場合は

。 これを試すことができます。

int sum=0; 
for (int i=0; i<ar.length; i++) 
    sum+=qq(30); 
System.out.print(sum); 
関連する問題