2016-11-27 15 views
0

Я продолжаю получать ошибку, брошенную на строку, которую я поставил над строкой, в которой говорится «недостижимый оператор». Как я могу это исправить? Что-то еще не так с этим кодом?Для Loops Java Unreachable Statement

boolean containsAll(IntSet [] s) { 


    return false; 

    // Unreachable Code begins here 
    for (int y = 0; y< s.length; y++) { 
     for (int i = 0; i< s[y].arr.length; i++) { 
      if (s[y].contains(i)) { 
       if (i>=arr.length) { 
        return false; 
       } 
       if (!arr[i]) { 
        return false; 
       } 
      } 
     } 
    } 
    return true; 
} 
+3

Оператор 'return false' завершает метод там, и после этого ничего не выполняется. –

+1

Почему у вас есть это возвращение false в начале метода? Это должна быть ошибка. Не так ли? –

ответ

1

Как предложили @Eli всякий раз, когда у вас есть обратное состояние перед некоторыми заявлениями в функции, которую он никогда не достигнет этого кода, следовательно, даст вам компиляцию ошибку

ошибки: недостижимо заявление

Как показано в изображение ниже:

Compilation error message

Просто удалите возвращение ложных по линии 12, как на изображении выше Виль l скомпилируйте свою программу без каких-либо ошибок.

Надеюсь, что это поможет !!!

0
boolean containsAll(IntSet [] s) { 


    return false; // <------- remove this 

    // Unreachable Code begins here 
    for (int y = 0; y< s.length; y++) { 
     for (int i = 0; i< s[y].arr.length; i++) { 
      if (s[y].contains(i)) { 
       if (i>=arr.length) { 
        return false; 
       } 
       if (!arr[i]) { 
        return false; 
       } 
      } 
     } 
    } 
    return true; 
} 

Он, очевидно, не достигнет кода, приведенного ниже инструкции return. потому что он автоматически завершит метод. return используется для передачи значения Object самому методу/методу. Попытайтесь прочитать это тоже, будет очень полезно понять, что значит return. - >>Returning a Value in Method.