2016-06-02 7 views
-4

Ich habe den Matlab-Code unten:verwenden, wenn ein in Java

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

ich den Java-Code unten verwendet:

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; 
     } 
    } 
} 

Der Code schlägt mit dem folgenden Fehler:

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

Für diejenigen von uns, die Matlab nicht kennen, was ist das Ziel Ihres Codes? Was willst du eigentlich bestimmen? –

+0

@Jim, ist das Ziel, das Element in c zu finden, das gleich cnt-Wert ist und sie in Array speichern. –

+0

Es gibt kein "Element in c, das gleich cnt-Wert ist". Meinst du "Finde Elemente in' c' (d. H. Arrays), die mit einem Element in 'cnt'" übereinstimmen? Für Ihr Beispiel sind die Elemente in 'c', die auch in' cnt' existieren, '{1.1, 2.1}' und '{2.4, 4.5}'. Ist es das was du meinst? –

Antwort

1

Arrays.equals ist eine Methode zum Vergleichen von Arrays wie der Name vermuten lässt,

aber sie tun:

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

, die das Element mit dem Index vergleicht [ii] [jj] des Arrays c gegen cnt.

Verwandte Themen