[ akasha org. @ 13.05.2007. 19:24 ] @
Telo konstruktora mi baca izuzetak:

Code:

public TestScores (double [] s) throws IllegalArgumentException {
        scores = new double [s.length];
        for (int i=0; i<scores.length; i++) scores[i] = s[i];
        for (int i=0; i<scores.length; i++)
            if (s[i]<0 || s[i]>100) throw new IllegalArgumentException ();
}


U test programu izuzetak se hvata sa:

Code:

catch (IllegalArgumentException e)
      {
         System.out.println("Invalid score found.\n" + e.getMessage());
      }


Problem je u getMessage() metodi, ona treba da ispishe s koje ne zadovoljava oseg od 0 do 100. Kako?
[ Black @ 13.05.2007. 19:40 ] @
Pa, valjda bi trebalo poruku da prosledis preko konstruktora

Code:
if (s[i]<0 || s[i]>100) throw new IllegalArgumentException ("s koje ne zadovoljava oseg od 0 do 100");
[ akasha org. @ 13.05.2007. 19:55 ] @
sorry, nisam bio precizan. Ispisuje s od i (da ne prihvata kao italic tag) koje ne zadovoljava opseg, znachi, trebam da prosledim double argument, a ne moze da ga prihvati kao String. double nema toString metodu..
[ akasha org. @ 13.05.2007. 19:58 ] @
reshio! Treba da stoji:

Code:

if (s[i]<0 || s[i]>100) throw new IllegalArgumentException ("" + s[i]);


thanx