Liebe Leute, ich bin zurzeit bei der folgenden Aufgabe dran:
Implementieren Sie eine öffentlich Klasse StringNumber, welche die abstrakte Klasse [java.lang.Number] erweitert, so dass Sie von der Klasse Objekte erstellen können. Die Klasse soll einen Konstruktor haben, welcher einen String-Parameter übergeben bekommt. Übergeben werden sollen Ziffern, also: "null", "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht" oder "neun". Wird etwas anderes übergeben, soll eine CharConversionException aus dem Paket java.io geworfen werden. Die Nachricht der Exception soll mit "not a StringNumber" beginnen.
Das Problem ist, wenn ich ein Objekt von StringNumber zu erstellen versuche z.Bsp StringNumber n = new StringNumber("vier"); dann kommt die folgende Fehlermeldung:
'unreported exception java.io.CharConversionException; must be caught or declared to be thrown'
Weiss jemand, was ich falsch mache bezogen auf die Exception. Die Deklaration von den Methoden der java.lang.Number werden hierbei nicht berücksichtigt.
Implementieren Sie eine öffentlich Klasse StringNumber, welche die abstrakte Klasse [java.lang.Number] erweitert, so dass Sie von der Klasse Objekte erstellen können. Die Klasse soll einen Konstruktor haben, welcher einen String-Parameter übergeben bekommt. Übergeben werden sollen Ziffern, also: "null", "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht" oder "neun". Wird etwas anderes übergeben, soll eine CharConversionException aus dem Paket java.io geworfen werden. Die Nachricht der Exception soll mit "not a StringNumber" beginnen.
Das Problem ist, wenn ich ein Objekt von StringNumber zu erstellen versuche z.Bsp StringNumber n = new StringNumber("vier"); dann kommt die folgende Fehlermeldung:
'unreported exception java.io.CharConversionException; must be caught or declared to be thrown'
Weiss jemand, was ich falsch mache bezogen auf die Exception. Die Deklaration von den Methoden der java.lang.Number werden hierbei nicht berücksichtigt.
Code:
import java.io.CharConversionException;
public class StringNumber extends java.lang.Number {
String s;
public StringNumber (String s) throws CharConversionException{
try {
if (!(s.equals("null") ||
s.equals("eins") ||
s.equals("zwei") ||
s.equals("drei") ||
s.equals("vier") ||
s.equals("fünf") ||
s.equals("sechs") ||
s.equals("sieben") ||
s.equals("acht") ||
s.equals("neun"))) {
throw new CharConversionException("not a StringNumber");
} else {
this.s = s;
}
} catch (CharConversionException e) {
}
}
}