String zurückgeben

chell

Mitglied
Hallo! Habe folgende Methode zur Division:


Code:
 public double dividieren(double a, double b)  {
 		String message = "Du kanns nicht durch 0 teilen";
 		
 		if (b == 0) {
 			return message;
 		}
 		return a / b;

Nur leider kann ich irgendwie den String message nicht zurückgeben. Hat jemand eine Ahnung, warum?

Mfg

chell
 
Hallo!

Du hast den Rückgabewert double in der Methode, deswegen kannst du kein String zurückgeben ("Cannot convert String to double").
Ich würds folgendermassen machen:
Code:
public class Division {
	public static void main(String[] args) {
		new Division().dividieren(3.0, 0);
		new Division().dividieren(20, 100);
	}
	public double dividieren(double a, double b) {
		if (0 == b) {
			throw new ArithmeticException("Du kanns nicht durch 0 teilen");
		}
		return a / b;
	}
}
Die Exception kannst du dann nach belieben fangen.

Grüsse TrueSun
 
Ich habe es so ähnlich gemacht:


1. Rechenklasse:

Code:
public double dividieren(double a, double b) throws ArithmeticException  {
 		if (b == 0) {
 			throw new ArithmeticException("Divisionen durch Null sind nicht zulässig");
 		}
 		return a / b;
 	}

2. Hauptprogramm mit Main Methode:

Code:
 public static void main(String[] args)throws ArithmeticException  {
 		Rechner meinRechner = new Rechner();
 
 		//System.out.println(meinRechner.flaecheKreis(2.5));
 		try 
 		{
 		System.out.println(meinRechner.dividieren(27, 0)); 	
 			
 			
 			
 		}
 		catch(ArithmeticException e) 
 		{
 			System.out.println("Es ist ein Fehler aufgetreten:" + e.toString());
 			
 			
 		}


Mfg

chell
 
Jep, so funktioniert es, die main drumherum in meinem Beispiel war bloss zu Testzwecken..
Beachte allerdings, dass du die ArithmeticException nicht mittels throws ankündigen musst, weil sie von RuntimeException abgeleitet ist und sie ausserdem noch vorher gefangen wird.
 
Zurück