2016-06-02 3 views
-4

У меня есть код Matlab ниже:Использование если в Java

// if any(c(:,part) == cent) 

Я использовал код Java ниже:

double [][] cnt = {{1.1, 2.1}, {2.4, 4.5}}; 
double [][] c = {{1.1, 2.1}, {2.4, 4.5}, {3.1, 4.2}, {6.1, 5.5}}; 
for (int ii=0; ii < D.length; ii++){ 
    for (int jj = 0; jj < part; jj++){ 
     if (Arrays.equals(c[ii][jj], cnt) { 
      System.out.print(c); 
      double [ii][jj] c1 = c; 
     } 
    } 
} 

код выдает следующее сообщение об ошибке:

no suitable method for equal double, double[][]. 
+0

Для тех из нас, кто не знает Matlab, какова цель вашего кода? Что вы на самом деле хотите определить? –

+0

@Jim, цель состоит в том, чтобы найти элемент c, который равен значению cnt и хранить их в массиве. –

+0

Нет элемента в c, который равен значению cnt. Вы имеете в виду «Найти элементы в' c' (т. Е. Массивы), которые соответствуют элементу в 'cnt'? Для вашего примера элементы в 'c', которые также существуют в' cnt', являются '{1.1, 2.1}' и '{2.4, 4.5}'. Это то, что вы имеете в виду? –

ответ

1

Arrays.equals - метод сравнения массивов, как следует из названия,

но вы делаете:

if (Arrays.equals(c[ii][jj],cnt) { 

, который сравнивает элемент с индексом [II] [Дж] из массива с против CNT.

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