Ich bin immer noch sehr neu in Java und ich habe ein wenig zu kämpfen versuchen zu verstehen, warum mein Code nur "falsch" zurückgibt, wenn Modulo nicht gleich 0 ist, die beiden anderen Fälle ignorieren, also wenn Divisor 0 ist und wenn das Array ist leer.logisches ODER in Java funktioniert nicht?
Im Falle von Divisor = 0, bekomme ich java.lang.ArithmeticException
: dividiere durch Null Aus irgendeinem Grund leere Array ist teilbar durch 0, wie könnte das sein?
Jede Hilfe sehr geschätzt, danke!
public boolean Divisible(ArrayList<Integer> array1, int divisor) {
int i;
int modulo;
boolean isDiv=true;
for(i=0; i<arr.size(); i++){
modulo=((arr.get(i)%divisor));
i++;
if(modulo!=0 || divisor==0 || arr.isEmpty())
{
isDiv= false;
break;
}
}
return isDiv;
}
Es ist nicht möglich durch 0 zu teilen ... und Ausführung etwas mit den angegebenen Parametern und ** danach ** zu überprüfen, ob sie korrekt sind, ist irgendwie ... sinnlos, würden Sie nicht zustimmen? – Seth
Was ist der Sinn des 'arr.isEmpty()' Checks? Wenn Sie das 'for' eingegeben haben, ist das Array nicht leer. –
Wenn die Liste leer ist, wird der Code in der for-Schleife nie ausgeführt. – matt