Programmier Hilfe

Hallo,

Das folgende Programm:

package exceptions;

public class A {
 public static void main(String[] args) {
 A a = new A();

 a.m1(-1);
 }

 public void m1(int n1) {
 m2(n1, n1 + 1);
 Out.println("Bye");
 }

 public void m2(int n2, int n3) {
 int tmp;
 tmp = n2/n3;
 Out.println(tmp);
 }
} 
  1. Ich brauche eine Exception E, der ein int im Konstruktor übergeben werden
    kann. Eine Methode getValue soll diesen Parameter zurückgeben.
  2. DieMethode m2 muss erweitert werden, so dass für n3 == 0 eine Exception E mit n2 als Parameter geworfen wird.
  3. Die Methode m1 muss erweitert werden, so dass der Aufruf von m2 und die damit unter Umständen geworfene Exception abgefangen und der Wert der Exception ausgegeben wird; direkt danach soll die Methode mittels return verlassen werden. Unabhängig davon, ob eine Exception geworfen wurde oder nicht soll am Ende der Methode Bye ausgegeben werden.

Das sind noch die Sachen wo ich Probleme habe.

Danke im voraus

Möglicherweise hilft da das Sun Java Tutorial:
http://java.sun.com/developer/technicalArticles/Prog…

Hallo *,

das ist doch eigentlich eine ganz leichte Aufgabe.
Ich werd hier mal den Quelltext posten, aber das wird Dir beim Lernen und Verstehen wenig helfen. Du solltest zumindest mal dazuschreiben, womit Du Problem hast und was Du nicht verstehst. Dann könnte man die auch etwas erklären, anstatt einfach die Lösung hinzuschreiben.

Gruß, Stephan

package exception;

public class A {
 public static void main(String[] args) {
 A a = new A();

 a.m1(-1);
 }

 public void m1(int n1) {
 try {
 m2(n1, n1 + 1);
 } catch (E e) {
 System.out.println(e.getValue());
 return;
 }
 System.out.println("Bye");
 }

 public void m2(int n2, int n3) throws E {
 int tmp;
 if (n3 == 0) {
 throw new E(n2);
 }
 tmp = n2 / n3;
 System.out.println(tmp);
 }
}

package exception;

public class E extends Exception {

 private static final long serialVersionUID = 1L;
 private int \_val;

 public int getValue() {
 return \_val;
 }

 public void setValue(int \_val) {
 this.\_val = \_val;
 }

 public E(int val){
 this.\_val = val;
 }
}