2014-02-06 5 views
-1

Я долго серфингом, в первый раз.Убедитесь, что произвольно сгенерированные массивы int [] не равны

Я начал преподавать себя java месяц назад практически без опыта программирования (кроме программирования на основе графического интерфейса для наборов Lego Mindstorms).

Я тестирую программу, которая включает целые массивы, заполненные случайными числами. Я должен убедиться, что ни один из массивов не равен. Итак, я пошел с циклом while, который не закончится, пока проверка сравнения для всех массивов не будет завершена. Вот тестовый код, который я использую:

import java.util.Arrays; 
public class testmain { 
    public static void main (String[] args){ 

     int[] testint1 = new int[2]; 
     int[] testint2 = new int[2]; 
     int[] testint3 = new int[2]; 
     int[] testint4 = new int[2]; 
     boolean donecheck = false; 

     while (donecheck == false){ 
      testint1[0] = (int) (Math.random() * 4); 
      testint1[1] = (int) (Math.random() * 4); 
      testint2[0] = (int) (Math.random() * 4); 
      testint2[1] = (int) (Math.random() * 4); 
      testint3[0] = (int) (Math.random() * 4); 
      testint3[1] = (int) (Math.random() * 4); 
      testint4[0] = (int) (Math.random() * 4); 
      testint4[1] = (int) (Math.random() * 4); 


      if (testint1 != testint2){ 
       if (testint1 != testint3){ 
        if (testint1 != testint4){ 
         if (testint2 != testint3){ 
          if (testint2 != testint4){ 
           if (testint3 != testint4){ 
            donecheck = true; 
           } 
          } 
         } 
        } 
       } 
      } 
     } 

     System.out.print (Arrays.toString(testint1)); 
     System.out.print (Arrays.toString(testint2)); 
     System.out.print (Arrays.toString(testint3)); 
     System.out.print (Arrays.toString(testint4)); 
    } 
} 

Я получаю одинаковые значения целых массивов, несмотря на это. Что я делаю не так? Должен ли я попробовать что-то другое.

Благодарим за помощь.

Привет

+0

Шаг 1. Узнайте о петлях. Вы будете поражены тем, что они могут сделать для вас. Я знаю, что был, когда писал свой первый цикл в 1983 году. –

+1

«Я долгое время, первый раз спросил меня». - Но «член на сегодня»:/ – Maroun

+0

@MarkoTopolnik В 1983 году я тоже написал свой первый цикл, хотя я родился в 1985 году. Я до сих пор не знаю, как это произошло. – Maroun

ответ

0

Эти 2 варианта проверить, если объект такой же, то есть это тот же массив.

array1 == array2 

и

array1.equals(array2) 

Для сравнения содержимого массивов, которые необходимо использовать:

Arrays.equals(array1, array2) 
+0

Спасибо за ваш ответ. Я понимаю, где я ошибся. – user3278994

Смежные вопросы