Exception Liste von Liste

bradig

Aktives Mitglied
Hallo,
ich habe ein kleines Problem.
Ich habe eine Methode(CountOdd) ,die eine Liste von Liste als parameter aufnimmt (List<List<Integer>> ) und die ungerade Zahlen von jeder Liste aufsummiert.
Falls mindestens eine der Listen {@code null} ist, wird eine {@link IllegalArgumentException} ausgelöst.
Alles funktioniert super,aber wenn einer der Liste leer ist,wird kein Exception geworfen.
Ich habe das ganze so gemacht:
Java:
public class Count{
  public static CountOdd(List<List<Integer>> l){
    int sum=0;
    for(List<Integer> ls:l){
      for(Integer a:ls){
        if(ls.size()==0){
          throw new IllegalArgumentException();
        } else if(a%2=1){
          sum=sum+a;
        }
      }
    }
    return sum;
  }
}

Bitte um Hilfe.

Herzlich
Bradig
 
Zuletzt bearbeitet von einem Moderator:
Wenn du ein Argument prüfst, dann direkt am Start der Funktion und nicht irgendwo tief verschachtelt, wo er nie oder spät oder sehr oft drüber kommt.
 
Wenn deine IAE geworfen werden soll, dann musst du das zwischen den zwei for-Schleifen deine Überprüfung machen machen.
 
Java:
public class Count{
  public static CountOdd(List<List<Integer>> l){
    int sum=0;
    for(List<Integer> ls:l){
if(ls.size()==0){
throw new illegalArgumentException();
}
      for(Integer a:ls){
      
        if(a%2=1){
          sum=sum+a;
        }
      }
    }
    return sum;
  }
}

es klappt jetzt.
Danke an euch allen
 

Zurück
Oben