2015-02-12 75 views
1

這裏是我的代碼:的Java比較數組索引的索引

public static void main(String[] args) { 

    int lotteryNumbers[] = new int[5]; 
    int playersNumbers[] = new int[5]; 
    int winNum = 0; 


    Scanner in = new Scanner(System.in); 
    Random r = new Random(); 
    // array med 5 heltal 

    //skapa en for loop som fyller upp arrrayen 
    //med slumpade tal från klassen Random 
    for (int i = 0; i < lotteryNumbers.length; i++) { 
     lotteryNumbers[i] = 0 + r.nextInt(9); 
     System.out.print(lotteryNumbers[i] + "\t"); 

    } 
    System.out.println(); 

    for (int i = 0; i < playersNumbers.length; i++) { 
     //System.out.println("Var god ange ett nummer mellan 0-9: "); 
     //playersNumbers[i]=in.nextInt(); 
     playersNumbers[i] = 0 + r.nextInt(9); 

    } 
    for (int i = 0; i < playersNumbers.length; i++) { 

     System.out.print(playersNumbers[i] + "\t"); 

    } 
    System.out.println(); 

    if (lotteryNumbers[0]==playersNumbers[0]) 
     winNum++; 
     if (lotteryNumbers[1]==playersNumbers[1]) 
       winNum++; 
       if (lotteryNumbers[2]==playersNumbers[2]) 
        winNum++; 
        if (lotteryNumbers[3]==playersNumbers[3]) 
         winNum++; 
         if (lotteryNumbers[4]==playersNumbers[4]) 
          winNum++; 

    System.out.println("You have " + winNum + " winning numbers"); 

} 

} 

我需要的數字指標比較指標。正如你所看到的,我有5條if語句。我想知道我是否可以用循環來做到這一點?

我已經嘗試過這樣做,因爲這:

for (int i = 0; i < lotteryNumbers.length; i++) { 

     for (int j = 0; j < playersNumbers.length; j++) { 

     if (lotteryNumbers[i] == playersNumbers[j]) { 
       winNum++; 

      } 
     } 
    } 

但這各項指標比較,各項指標,而不僅僅是指數指數。我想知道如何編寫比較索引到索引的循環?

+0

使用*一個*循環,而不是兩個。 – Biffen 2015-02-12 07:53:21

回答

2

只使用一個循環。這樣可以在兩個數組中使用相同的索引。

for (int i = 0; i < lotteryNumbers.length; i++) { 
    if (lotteryNumbers[i] == playersNumbers[i]) { 
      winNum++; 
    } 
} 
1

您正在努力工作。 :-)只是一個循環,而不是兩個,並使用相同的指標變量,兩個數組:

for (int i = 0; i < lotteryNumbers.length; i++) { 
    if (lotteryNumbers[i] == playersNumbers[i]) { 
     winNum++; 
    } 
} 
+0

我意識到我可以通過增強的for循環來實現 – 2015-02-12 11:00:24

+0

@TapaniYrjölä:增強的for循環在這裏沒有幫助。 – 2015-02-12 11:02:28

+0

我意識到,當我嘗試。你的答案是正確的 – 2015-02-12 11:17:57