Hallo zusammen,
für die letzte Übung in diesem Semester hat uns unser Prof eigentlich was einfaches versprochen. Leider habe ich doch ein kleines Problem, bei dem ich einfach ein paar Denkanstöße brauche.
Es geht darum, dass wir ein Programm schreiben sollen, dass eine quadratische Gleichung löst. Soweit so gut. Über die Konsole sollen drei Argumente eingegeben werden (als double). Da das Hauptthema der Übung Exceptions heißt, sollen wir jetzt auch entsprechende Exceptions einbauen, wenn z.B. statt drei doubles ein anderer Wert eingegeben wird (z.B. char). Das ist mein erstes Problem. Ich weiß nicht, wie ich die Konsoleneingabe auf den Typ überprüfen kann.
Das zweite Problem ist, dass mein Programm eine Exception werfen soll, wenn statt drei nur zwei Argumente eingegeben wurden.
Ich hatte zuerst für Letzteres folgende Idee (auskommentierter Code):
Dat funktioniert aber nicht.....
Wie gesagt, für Denkanstöße wäre ich sehr dankbar....
für die letzte Übung in diesem Semester hat uns unser Prof eigentlich was einfaches versprochen. Leider habe ich doch ein kleines Problem, bei dem ich einfach ein paar Denkanstöße brauche.
Es geht darum, dass wir ein Programm schreiben sollen, dass eine quadratische Gleichung löst. Soweit so gut. Über die Konsole sollen drei Argumente eingegeben werden (als double). Da das Hauptthema der Übung Exceptions heißt, sollen wir jetzt auch entsprechende Exceptions einbauen, wenn z.B. statt drei doubles ein anderer Wert eingegeben wird (z.B. char). Das ist mein erstes Problem. Ich weiß nicht, wie ich die Konsoleneingabe auf den Typ überprüfen kann.
Das zweite Problem ist, dass mein Programm eine Exception werfen soll, wenn statt drei nur zwei Argumente eingegeben wurden.
Ich hatte zuerst für Letzteres folgende Idee (auskommentierter Code):
Java:
public void solve () throws NotQuadraticException, UnsolvableException, IncompleteException{
// if (c == null)
// throw new IncompleteException();
if (a == 0)
throw new NotQuadraticException();
setD (Math.pow(b,2)-(4*a*c));
if (d < 0)
throw new UnsolvableException();
setW (Math.sqrt(d));
setX1 ((-b+w)/(2*a));
setX2((-b-w)/(2*a));
System.out.println ("Loesung x1: "+getX1()+"; Loesung x2: "+getX2() );
}
Wie gesagt, für Denkanstöße wäre ich sehr dankbar....