Programmier Hilfe

LordDarkness

Mitglied
Hallo,

Das folgende Programm:
Code:
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 die ich Brauche.

Danke im voraus
 
Such mal bei Google nach "java ist auch eine insel".

Sorry das ich dir hier nicht helfe und mit so einem Kommentar komme.. aber das sieht sehr nach einer Programmieraufgabe in der Schule aus und deine Frage ist so gestellt, dass es aussieht als sollten wir sie für dich lösen.
Ein bisschen Eigeninitiative sollte schon dabei sein :)
 
Ähm, ich wette das ist jetzt nicht das was du genau wolltest, aber vielleicht gibt es dir ja den einen oder anderen Denkanstoß:

Java:
public class Main extends Object
{
	private Exception exception;
	
	public Main()
	{
		super();
		
		this.exception = new Exception(0);
	}
	public void m1(int n1)
	{
		try
		{
			m2(n1, n1 + 1);
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			System.out.println("Bye");
			System.exit(1);
		}
	}
	public void m2(int n2, int n3) throws Exception
	{
		if(n3 == 0)
		{
			System.err.println(this.exception.getValue());
			this.exception.printStackTrace();
			return;
		}			
    		   
		int tmp;
		tmp = n2/n3;
		System.out.println(tmp);
	}
	public static void main(String[] args)
	{
		Main m = new Main();
		m.m1(-1);
		System.exit(0);
	}
}
public class Exception extends java.lang.Exception
{
	private static final long serialVersionUID = 1L;
	
	private int value;
	
	public Exception(int i)
	{
		super();
		this.value = i;
	}
	public int getValue()
	{
		return(this.value);
	}
}
 
Zurück