【问题标题】:compare multiple Integer arrays in java比较java中的多个整数数组
【发布时间】:2016-01-07 23:18:49
【问题描述】:

我正在尝试比较两个数组整数。

这是我目前所拥有的:

package array;

import java.util.Scanner;
import java.util.Arrays;

public class Array {

    public static void main(String[] args) {    

        Scanner input = new Scanner(System.in);            
        int [] lottery_number = new int[49];    
        int i;     
        int a = 0;
        for (i=0; i<lottery_number.length; i++){
            lottery_number[i]=i+1;
        }

        System.out.println("Please insert 6 numbers");     
        int [] Number = new int [6];    
        Number[0] = input.nextInt();
        Number[1] = input.nextInt();
        Number[2] = input.nextInt();
        Number[3] = input.nextInt();
        Number[4] = input.nextInt();     
        Number[5] = input.nextInt(); 
    }
}

我正在尝试将用户输入与某个 Lottery_number 数组进行比较。

【问题讨论】:

  • 您的代码中没有任何比较。你试过什么?另外,将来使用正确的 java 命名约定
  • 所以,首先,它的约定是变量以小写字母开头,所以我建议将其设为数字​​而不是数字。仅供参考第二:你能澄清一下你在比较什么吗?在什么情况下比较是成功还是失败?
  • 我相信您想要以某种方式比较两个数组。但是,您的代码没有显示“试图比较”的证据。
  • 您需要 2 个数组:实数与预期数。然后去stackoverflow.com/questions/14897366/…
  • @MohamedSalad 如果它是一个包装类,它不会有 int 作为前缀,而是 Number[] arrayName

标签: java arrays if-statement


【解决方案1】:

我指出我不确定您在问什么,但是将彩票号码数组(从 1 到 50 的所有自然数)与玩家选择数组(从 1 到 6 个随机数)进行比较是没有意义的50. 使用静态方法

Arrays.equals(int[] array1, int[] array2)

将返回参数是否相等(相同数量的元素,相同的值),但最终情况并非如此。抱歉,如果我完全误解了您的要求。

【讨论】:

    【解决方案2】:

    numberInCommon 是一个变量,表示数组共有多少个数字。我希望这就是你要找的。你必须导入java.util.Arrays

    List lotteryNumbers = Arrays.asList(lottery_numbers);
    int numbersInCommon = 0;
    for(int i : Number){
        if(lotteryNumbers.contains(new Integer(i)))
            numbersInCommon++;
    }
    

    编辑:您还需要将
    int [] lottery_number = new int[49]; 更改为
    Integer [] lottery_number = new Integer[49];

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-26
      • 1970-01-01
      • 2014-11-07
      • 2011-12-29
      • 1970-01-01
      相关资源
      最近更新 更多