2015-02-12 72 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