java - 如何比较两个数组。一个数组从文件中获取,另一个数组是随机数?

标签 java arrays

这就是我得到的。我可以看到这两个数组,但在比较时我得到了错误的答案。编译和运行时我得到很多 false 作为输出,但插入了 36 个结果( boolean 值),我得到了 180 个 boolean 结果。

import java.io.*;
import java.util.*;



public class Lotto {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws FileNotFoundException
{
    userNumbers();
    drawNumbers();  
}
public static void userNumbers()throws FileNotFoundException
{
     Scanner in = new Scanner(new FileReader("lotto.dat")); //In this file there is 6 integer

 while(in.hasNext())
 {
     if(in.hasNextInt())
     {
        //in.next();
        System.out.println(in.nextLine());
     }
     else
     System.out.print(in.next()+ " ");
 }

}
public static void drawNumbers() throws FileNotFoundException
{
     int N = 6;// 6 Random Numbers
     int[] lottoNumber = new int[N];
     int[] userNumber = new int[N];
     //This generate random numbers of size N
     for (int i = 0; i < N; i++) 
     {
        Random n = new Random(); 
        lottoNumber[i] = n.nextInt(20)+1;
        System.out.print(lottoNumber[i]+" ");           
     }

     Scanner dat = new Scanner(new FileReader("lotto.dat"));
        int i=0;
        while(dat.hasNextInt())
        {
           userNumber[i++]=dat.nextInt();

           System.out.println("");
           doCompare(lottoNumber, userNumber); 
        }


}
  public static void doCompare(int[] a, int[] b) {
   for(int i = 0; i < a.length; i++)
  {
for(int j = 0; j < b.length; j++)
{
    if(a[i] == b[j])
    {
        System.out.print("True");//true
    }
    else
    {
        System.out.print("false");``
    }
}
}}}

最佳答案

您正在使用文件中的所有数字填充 userNumber 之前进行比较。您只需将语句 doCompare(lottoNumber, userNumber) 移到 while 循环之外即可:

while (dat.hasNextInt()) {
       userNumber[i++] = dat.nextInt();

  System.out.println("");
  //doCompare(lottoNumber, userNumber);
}

doCompare(lottoNumber, userNumber);

关于java - 如何比较两个数组。一个数组从文件中获取,另一个数组是随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22552874/

相关文章:

java - 将 Frege 列表转换为 Java 数组

java - java中的synchronized(this)更安全吗?

java - 用法 : RealmBase -a <algorithm> [-e <encoding>] <credentials>

java - 如果在 DefaultListModel 中选择之前单击按钮,可以防止崩溃吗?

javascript - 如何在发布请求的键的变量内发送值

javascript - 数组 数学逻辑 JavaScript

arrays - 我可以在亚线性时间内找到未排序数组中的最大/最小值吗?

java - 如何读取flink中的前N条kafka消息?

java - 什么是 NullPointerException,我该如何解决?

javascript - 如果存在键名数组,则更改对象的深层嵌套键值