Сравнивая каждое число из двух разных массивов в Java? - PullRequest
0 голосов
/ 25 февраля 2019

Мне действительно нужна помощь, пожалуйста!

Так что в основном я программирую маленькую игру под названием MoreLess.Игра будет составлена ​​из 3 разных режимов.На самом деле я застрял на первом моде под названием "Challenger".Для этого мода я создал 2 метода.Первый, который учитывает пользовательский ввод (4-значное число от 0 до 9) и второй метод (генерируется случайным образом 4-значное число).Теперь мне нужно сравнить эти 2 значения для каждого числа.Для каждого номера мне нужно что-то напечатать.Если число больше = '+', если меньше = '-' else '='.

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 голосов
/ 25 февраля 2019

вам просто нужно сравнить два массива, если вы можете использовать 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));
}
0 голосов
/ 25 февраля 2019

Если я вас ясно понимаю, вот что вы хотите.

 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"+" =");
   }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...