比较Java中两个不同数组中的每个数字?

时间:2019-02-25 11:47:44

标签: java arrays int

我真的需要一些帮助!

所以基本上我正在编写一个名为MoreLess的小游戏。游戏将由3种不同的模式组成。实际上,我陷入了第一个称为“挑战者”的mod。为此,我已经创建了2个方法。第一个考虑用户输入(0到9之间的4位数字)和第二种方法(随机生成的4位数字)。现在,我需要比较每个数字的这两个值。对于每个数字,我需要打印一些内容。如果数字更大='+',如果数字更大='-'否则'='。

public static int[] pProposition() {
    Scanner clavier = new Scanner(System.in);
    System.out.println("Veuillez saisir votre proposition à 4 chiffres entre 0 et 9");
    String saisi = clavier.nextLine();
    if (saisi.length() != 4 || saisi.replaceAll("\\D", "").length() != 4) {
        System.out.println("Vous avez saisi un nombre incorrect. Vous devez saisir un nombre de 4 chiffres entre 0 et 9" );
    }
    int[] proposition = new int[4];
    for (int i = 0; i < 4; i++) {
        proposition[i] = Integer.parseInt(String.valueOf(saisi.charAt(i)));
    }
    return proposition;
}

public static int[] genNumHasard() {
    int[] combSecrete = new int[4];
    for (int i = 0; i < combSecrete.length; i++) {
        combSecrete[i] = (int) (Math.random() * 9 + 0);
    }
    return combSecrete;
}

public static int[] joueUnTour () {
    int valeurComparaison = PlusOuMoins.pProposition().compare
    if (PlusOuMoins.pProposition() > PlusOuMoins.genNumHasard()) ;
    {

    }

2 个答案:

答案 0 :(得分:0)

如果我清楚地了解您,这就是您想要的。

 public static void compareNums(){

   int [] firstArr = pProposition();
   int [] secondArr = genNumHasard();

   for(int i=0;i<firstArr.length;i++){//Assuming array lenghts are same

       if(firstArr[i]>secondArr[i])
          System.out.println("For "+i+"th number result is"+" +");
       else if(firstArr[i]<secondArr[i])
          System.out.println("For "+i+"th number result is"+" -");
       else
          System.out.println("For "+i+"th number result is"+" =");
   }

}

答案 1 :(得分:0)

您只需要比较两个数组,如果可以使用Java 8和Guava,请尝试以下代码:

public static void compareArrays(int[] arr1, int[] arr2) {
    Streams.zip(Arrays.stream(arr1).boxed(), Arrays.stream(arr2).boxed()
            , (integer, integer2) -> integer - integer2 == 0 ? "=" : integer - integer2 > 0 ? "+" : "-")
            .forEach(s -> System.out.println(s));
}