0

私のプログラムは、テキスト ファイルを取得し、最初の 4 つの名前を読み取り、1 ~ 4 の乱数を作成し、乱数に基づいて 4 つの異なるチームに名前を割り当てると想定しています。たとえば、番号が 3 の場合、最初の名前はチーム 3 に、2 番目の名前はチーム 4 に、というようになります (名前がなくなるまでプロセスを繰り返します) その正しいコードをすべて持っていると思います、問題は、メソッドに取り込まれた配列に入れたすべての名前を返す方法がわからないことです。これが私のコードです:

public static void main(String args[]) throws IOException
{
BufferedReader girlFile = new BufferedReader(new FileReader("girls40.txt"));
PrintWriter teamFile = new PrintWriter(new FileWriter("xxxxxxx-teamlist.txt"));
String team1[] = new String[20];
String team2[] = new String[20];
String team3[] = new String[20];
String team4[] = new String[20];
int n;

n = loadTeams(team1,team2,team3,team4,girlFile);
girlFile.close();
teamFile.close();
}

public static String[] loadTeams(String team1[],String team2[],String team3[],String team[],BufferedReader girlFile)
{
int n;
int random;
String name1;
String name2;
String name3;
String name4;
while((name1=girlFile.readLine())!=null)
  {
    name2=girlFile.readLine();
    name3=girlFile.readLine();
    name4=girlFile.readLine();
    random = 1 + (int)(Math.random() * 4);
    if(random==1)
      {
        team1[n]=name1;
        team2[n]=name2;
        team3[n]=name3;
        team4[n]=name4;
      }
    if(random==2)
      {
        team1[n]=name4;
        team2[n]=name1;
        team3[n]=name2;
        team4[n]=name3;
      }
    if(random==3)
      {
        team1[n]=name3;
        team2[n]=name4;
        team3[n]=name1;
        team4[n]=name2;
      }
    if(random==4)
      {
        team1[n]=name2;
        team2[n]=name3;
        team3[n]=name4;
        team4[n]=name1;
      }
    n++;  
  }
return team1[],team2[],team3[],team4[];
  }`

main メソッドは私に与えられたものなので、変更できません。

4

4 に答える 4

0
  1. は、 ではなくloadTeamsを返す必要があります。intString[]

  2. 配列を返す必要はありません。メソッド内の配列に加えられた変更は、loadTeamsメイン メソッド内の配列に反映されます。

于 2013-09-27T10:15:12.087 に答える
0

何も返す必要はありません。main() で作成された配列は、参照によってメソッドに渡されます。そこに値を入力できます。メソッドの実行後、値はこれらの配列に保持されます。

于 2013-09-27T08:13:36.893 に答える