Итак, я пытаюсь выяснить, является ли массив a подмножеством массива b, и мой код выглядит следующим образом:
public class subset {
public static boolean subset(int[]a, int[] b) {
for(int i=0;i<a.length;i++){
for(int j=0;i<a.length;j++){
if(a[i]==b[j]){
return true;
break;
}else{
return false;
}
}
}
}
public static void main(String[]args){
int[] a = {1,2,6};
int[] b = {1,2,4,3,7,4,8,5};
if (subset(a,b))
System.out.println("Array 1 is contained in Array 2");
else
System.out.println("Array 1 is not contained in Array 2");
}
}
И я получаю следующие ошибки: недостижимый оператор и отсутствующий оператор возврата. Что я хочу сделать, так это то, что когда условие if истинно, оно останавливает внутренний цикл for и продолжает внешний цикл for. заранее спасибо
return
выходит из метода, что означает, что любой код, размещенный после него в этом методе (здесьbreak
), не будет выполнен, поэтому вы видите эту ошибку. Единственным исключением является разделfinally
, еслиreturn
был в разделеtry
. - person Pshemo   schedule 14.05.2017a.length
, в то время как вы явно хотите, чтобы он считал доb.length
, поскольку переменнаяj
проходит черезb
, а неa
. - person Erwin Bolwidt   schedule 14.05.2017