Medieninformatik: PRÜ1a - Programmieren (Java) im SS 2004, Prof. Knabe, 2004-04-19 Hinweis: Weitere Übungsgruppe: Mi 8:30-10:00 D017 Papier, 10:00-11:30 D016b Rechner Aufgabe 3: Verzweigungen Letzter Abgabetermin: 28. 04. 2004 a) Erstellen Sie ein redundanzfreies Java-Programm, das für die als Kommandoargument 0 übergebene Ganzzahl des Bereichs 0..32767 deren mindestnotwendige Stellenzahl meldet. Alle anderen Argumente müssen mit einer Fehlermeldung beantwortet werden. Bsp.-Dialog: D:\>java Stellen 0 Die Zahl 0 benoetigt 1 Ziffern. D:\>java Stellen 9 Die Zahl 9 benoetigt 1 Ziffern. D:\>java Stellen 00009 Die Zahl 9 benoetigt 1 Ziffern. D:\>java Stellen 10 Die Zahl 10 benoetigt 2 Ziffern. D:\>java Stellen 32767 Die Zahl 32767 benoetigt 5 Ziffern. D:\>java Stellen -1 Verbotene negative Zahl -1! D:\>java Stellen abc java.lang.NumberFormatException: abc at java.lang.Integer.parseInt(Integer.java:229) at java.lang.Short.parseShort(Short.java:94) at java.lang.Short.parseShort(Short.java:78) at Stellen.main(Stellen.java:10) Hinweise: Die übergebene Zahl speichern Sie in einer short-Konstanten (Wertebereich -32768..+32767). Deren Wert erhalten Sie mittels Short.parseShort(String). Vor der Verarbeitung überprüfen Sie die Fehlerbedingung (Zahl negativ), geben eine Fehlermeldung aus auf dem Error-Strom System.err mittels System.err.println(...); und brechen das Programm mit Fehlerstatus 1 ab durch System.exit(1); Die Entscheidung über die Stellenzahl kodieren Sie als kaskadierte if-Anweisung. b) Erstellen Sie ein redundanzfreies Java-Programm, das für die als Kommandoargument 0 übergebene Stellenzahl des Bereichs 1..5 meldet, welchen Zahlenbereich man damit darstellen kann. Alle anderen Argumente müssen mit einer Fehlermeldung beantwortet werden. Die Entscheidung über den Zahlenbereich kodieren Sie als switch-Anweisung. Bsp.-Dialog: D:\>java Bereich 1 Mit 1 Stellen koennen wir Zahlen im Bereich 0...9 darstellen. D:\>java Bereich 5 Mit 5 Stellen koennen wir Zahlen im Bereich 10000...99999 darstellen. D:\>java Bereich -1 Ungueltige Stellenzahl -1! D:\>java Bereich abc java.lang.NumberFormatException: abc at java.lang.Integer.parseInt(Integer.java:229) at java.lang.Integer.parseInt(Integer.java:276) at Bereich.main(Bereich.java:11) D:\> [Aufgabe.oo.rtf] c) Hinweise zur guten Einstellung Ihrer TextPad-Entwicklungsumgebung finden Sie unter http://www.tfh-berlin.de/~knabe/java/ide/ in der Datei TextPad.oo.rtf