2016-03-24 13 views
0

Getting a bad operand types for binary operator ">",Bad Operandentypen für binären Operator "<"

erster Typ: boolean; zweiter Typ: int.

In dieser Zeile:

if(0 < r < getNumberOfRows()&& 0 < c < getNumberOfColumns()); 

Die getNumberOfRows() kehrt ein int-Wert und r wird als int direkt über der if Anweisung deklariert. Keine Ahnung, was falsch ist.

public int numberAdjacent(int row, int column) 
{ 
    int count = 0; 
    int r = row; 
    int c = column;   

    if(0 < r < getNumberOfRows()&& 0 < c < getNumberOfColumns()){ 
     if(map[r+1][c+1]) { 
      count++; 
     } 
+0

keine Ahnung, was bluej ist, aber es wäre sinnvoll erscheinen 'if (0 existiert nicht in irgendeiner C-ähnlichen Sprache, die ich mir vorstellen kann, aber die Absicht könnte in 'x

+0

Welche Sprache ist das? –

+0

Java? ......... –

Antwort

1

Java keinen a < b < c Konstrukt zu überprüfen, ob b zwischen a und c ist. Stattdessen müssen Sie es in zwei separate Vergleiche aufteilen, a < b und b < c.

In Ihrem Beispiel würde es aussehen;

if(0 < r && r < getNumberOfRows() && 0 < c && c < getNumberOfColumns()) { 
Verwandte Themen