2017-04-15 77 views
0
public class Spieler 
{ 
    public Magier Henri = new Magier ("Magier Henri");  
    public Krieger Christian = new Krieger ("Krieger Christian"); 
    public Supporter Judith = new Supporter ("Suppporter Judith"); 
    public Schuetze Lukas = new Schuetze ("Schuetze Lukas"); 
    public Magier Nick = new Magier ("Magier Nick");  
    public Krieger Anna = new Krieger ("Krieger Anna"); 
    public Supporter Neele = new Supporter ("Suppporter Neele"); 
    public Schuetze Christoph = new Schuetze ("Schuetze Christoph"); 
    public int i; 
    public int besten5; 
    public int bestPlayerEU; 
    public int[][] kandidat = new int[8][2]; 
    int t; 

    public void fuelleArray() 
    { 
     kandidat[0][0] = Henri.getGesamtPunkte(); 
     kandidat[0][1] = 1; 
     kandidat[1][0] = Christian.getGesamtPunkte(); 
     kandidat[1][1] = 2; 
     kandidat[2][0] = Judith.getGesamtPunkte(); 
     kandidat[2][1] = 3; 
     kandidat[3][0] = Lukas.getGesamtPunkte(); 
     kandidat[3][1] = 4; 
     kandidat[4][0] = Nick.getGesamtPunkte(); 
     kandidat[4][1] = 5; 
     kandidat[5][0] = Anna.getGesamtPunkte(); 
     kandidat[5][1] = 6; 
     kandidat[6][0] = Neele.getGesamtPunkte(); 
     kandidat[6][1] = 7; 
     kandidat[7][0] = Christoph.getGesamtPunkte(); 
     kandidat[7][1] = 8; 
    } 

    public int[][] sort() 
    { 
     fuelleArray(); 
     int temp = 0; 
     for (int i = 0; i < kandidat.length; i++) 
     { 
      for(int j = 1; j < kandidat.length-i; j++) 
      { 
       if(kandidat[j][t] < kandidat[j-1][t]) 
       { 
        temp = kandidat [j-1][t]; 
        kandidat[j-1][t] = kandidat [j][t]; 
        kandidat[j][t] = temp; 
       } 
      } 
     } 
     return kandidat; 
    } 
} 

所以在這裏我得到我的數組的左側排序的隨機值,但我也希望二維數組右側的值移動適合的字符。所以,我想的是,kandidat「亨利」依然是價值1,「基督徒」 = 2,「朱迪思」 = 3,「盧卡斯」 = 4等。有人可以解釋或編寫代碼,使陣列右側的數字適合字符/ kandidat如何對適合其他值的二維數組進行排序?

所以當陣列看起來像這樣的開頭:

0 1 
0 26 1 
1 45 2 
2 37 3 
3 33 4 
4 27 5 
5 29 6 
6 41 7 
7 49 8 

它應該是這樣的結尾:

 0 1 
0 26 1 
1 27 5 
2 29 6 
3 33 4 
4 37 3 
5 41 7 
6 45 2 
7 49 8 
+0

嘗試了詳細的講解,你想你的結果是和各個步驟需要以那裏做什麼。 –

+0

@ThorbjørnRavnAndersen所以陣列的左側充滿隨機值,並進行排序的方法,他們得到這樣排序的最高值是從陣列的底部。現在在數組的右邊有1,2,3,4等等。這個具體的數字屬於每一個隨機值,比如基督徒應該永遠是數字2或者亨利應該總是數字1.所以這些數值得到排序,但是在排序方法之後,我想確定哪個數據集的值最高?我如何排序隨機值和具體數字保持其隨機值? :)請幫助 – L2XU

+0

一些不相關的建議:如果可能,請嘗試養成用英文編碼的習慣。好的做法,行業標準,當你最終在這樣的國際平臺上提問時,它也會派上用場。 :) – domsson

回答

0

如果我理解正確的話,你希望交換的對一個「kandidate」+號碼將這些對保持在一起。你有沒有嘗試過這樣的事情:

int[] temp = kandidat [j-1]; 
kandidat[j-1] = kandidat [j]; 
kandidat[j] = temp; 

這個交換對(kanditate[j][0], kandidate[j][1])與一對(kanditate[j-1][0], kandidate[j-1][1])

+0

是的,你太棒了!非常感謝你!我也不得不刪除int temp = 0的定義;現在它工作。很好:) – L2XU

+0

不客氣。滑稽你如何標示這是正確的,但不給予好評它是有用的,雖然:P – Imus

+0

的給予好評被記錄下來,但我的名譽是15歲以下,因此不會顯示出來:d – L2XU

相關問題