funktion-ausgabe unklar

chho0013

Mitglied
hi kurze frage:

Java:
package Übungen;

public class test2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		System.out.println(maximum(7,15));
		System.out.println(maximum(15,maximum(14,17)));
		System.out.println(maximum4(14,17,19,15));
	}
	
	public static int maximum(int a, int b)
	{
		if(a>b)
			return a;
		else
			return b;
	}
	
	public static int maximum4(int a, int b, int c, int d)
	{
		return maximum(maximum(a,b),maximum(c,d));



Die Ausgabe ist 15 17 und 19.

Die 15 und 17 kann ich nachvollziehen, aber wie kommt man auf die 19?
 
Wo ist genau das Problem? Kuck dir die Funktion maximum4(...) an.

maximum(14,17) = 17
maximum(19,15) = 19
maximum(17,19) = 19

=> maximum4(...) = 19
 
Übrigens brauchst du maximum nicht, dazu gibt es auch eine vorgegebene Math-Funktion.
 
@Max Matti: Du programmierst zur Übung oft Sachen, die es eigentlich schon gibt, vor allem im Schulunterricht. Da kommen auch öfter Funktionen, die sogar die Standart-API bietet, aber es sind halt Grundlagen, die dem Verständnis dienen.
 
hab nochmal ne frage, woher weis java das das maximum bestimmt werden soll, wenn ich nämlich statt "maximum"-"hallo" einsetze kommt das selbe ergebnis????:L
 
überall wo "maximum" steht, ich denke das ändert den fuktionsnamen.
die ersten beiden ausgaben sind ja klar, wegen if und else, aber bei maximum4 gibt es kein if und else,
wieso gibt er aber trotzdem 19 aus?
 
achsooooooo, da steht ja return maximum(maximum(a,b),maximum(c,d)); d.h.: es führt doch wieder auf if und else zurück, da wäre ich nie drauf gekommen, jetzt hab ichs.
danke
 

Zurück
Oben