2012-04-28 7 views
0

Android向けのゲームを作成するという目的でJavaを学び始めました。私はオンラインコースを受講しています。ここでは、タスクを提供され、後で何らかの評価が行われます。Java:1つのアレイから別のアレイに情報を追加する

これは私がこれまで何をやったかである:私がやりたい何

public String[] pie; 
public Scanner x; 
public String[] name; 
public String[] name1; 
public String[] name2; 
public int[] year; 
public int[] numb; 
public String[] language; 
public boolean[] read; 
public int[] rating; 

    public void openfile(){ 
    try{x = new Scanner(new File("Raamatukogu.txt"));} 
    catch(Exception e){ 
     System.out.println("no file was found");}} 

public void readfil(){ 
    while(x.hasNext()){ 
     String rida = x.nextLine(); 
     pie = rida.split("#"); 
     for(int i = 0; i < pie.length ; i++){ 

は私のコードに次のようなものを追加することですが、自動化された:

name[0] = pie[0] 
name1[0] = pie[1] 
name2[0] = pie[2] 
year[0] = pie[3] 
numb[0] = pie[4] 
language[0] = pie[5] 
read[0] = pie[6] 
rating[0] = pie[7] 

name[1] = pie[8] 
name1[1] = pie[9] 
name2[1] = pie[10] 
year[1] = pie[11] 
numb[1] = pie[12] 
language[1] = pie[13] 
read[1] = pie[14] 
rating[1] = pie[15] 

name[2] = pie[16] 
name1[2] = pie[17] 
...} 

は、あなたの中に感謝前進!

答えて

4

はここ表裏一体だこの

int j=0; 
for(int i=0;i<pie.length;i++){ 
    name[j] = pie[0]; 
    name1[j] = pie[1]; 
    name2[j] = pie[2]; 
    year[j] = pie[3]; 
    numb[j] = pie[4]; 
    language[j] = pie[5]; 
    read[j] = pie[6]; 
    rating[j] = pie[7]; 
    j++; 
} 
+0

。だから私は自分自身を見ていないと恥ずかしい:P。また、この質問を見る人は、pie [0 + i]、pie [1 + i]、pie [2 + i]、pie [3 + i]を追加する必要があります。 – user1363284

0

を試してみてください。両方とも、pie.lengthは8の倍数であると仮定しています。それを行う必要があります

for (int i=0; i<pie.length/8; i++) { 
    int index = i * 8; 
    name[i] = pie[index]; 
    name1[i] = pie[index+1]; 
    name2[i] = pie[index+2]; 
    year[i] = pie[index+3]; 
    numb[i] = pie[index+4]; 
    language[i] = pie[index+5]; 
    read[i] = pie[index+6]; 
    rating[i] = pie[index+7]; 
} 

または

for (int i=0; i<pie.length; i=i+8) { 
    int index = i/8; 
    name[index] = pie[i]; 
    name1[index] = pie[i+1]; 
    name2[index] = pie[i+2]; 
    year[index] = pie[i+3]; 
    numb[index] = pie[i+4]; 
    language[index] = pie[i+5]; 
    read[index] = pie[i+6]; 
    rating[index] = pie[i+7]; 
} 
関連する問題