Erste Schritte ergebnis der funktion in der main-methode ausgeben

BlackSalad

Bekanntes Mitglied
Hi,

ich hab ne Funktion versucht zu schreiben die 2 vorsortierte Teilfolgen zu einer sortierten gesamtfolge macht.

rausgekommen ist das:


Java:
public class Mische {
	public static void main(String[] args){
		int[] ersteReihe={2,3,5,7,8};
		int[] zweiteReihe={1,4,6,10,11,12};
                      System.out.println(mische(ganzeReihe);
		
	}
	
	static int[] mische (int[] ersteReihe, int[] zweiteReihe){
	
	
	int länge1=ersteReihe.length;
	int länge2=zweiteReihe.length;
	int i=0;
	int iErsteReihe=0;
	int iZweiteReihe=0;
	
	int[] ganzeReihe = new int[länge1+länge2];
	
	while (i<länge1 && i <länge2){
		if (ersteReihe[i]<zweiteReihe[i]){
			ganzeReihe [i] = ersteReihe[i];
			i++;
			iErsteReihe++;
		}
		if (zweiteReihe[i]<ersteReihe[i]){
			ganzeReihe[i] =zweiteReihe[i];
			i++;
			iZweiteReihe++;
		}
	}
	if (i==länge1 && i<länge2){
		ganzeReihe[i]=zweiteReihe[i];
		i++;
		iZweiteReihe++;
	}
	if (i==länge2 && i<länge1){
		i++;
		ganzeReihe[i]=ersteReihe[i];
		iErsteReihe++;

	}
	return ganzeReihe;

  }
}


Jetzt klappt das aber mit der Ausgabe nicht, was ja klar ist, weil der main-methode nicht weiß was "ganzeReihe" ist. Aber ich kriegs nicht hin, dass es funktioniert. Ich hoffe ihr wisst was ich meine 😉


wär euch dankbar, wenn ihr mir das zeigen könntet.
 
so hast du die Methode definiert:
Code:
mische (int[] ersteReihe, int[] zweiteReihe)

so rufst du die Methode auf:
Code:
mische(ganzeReihe)

Fällt dir was auf?
 
Das, was du da machst geht so nicht. Wenn du wissen willst, was die Variable "ganzeReihe" in der Methode mischen für Werte hat, dazu schreibst du dann vor dem Return in der mischen-Methode einfach System.out.println(Arrays.toString(ganzeReihe)).

Natürlich würde auch dieser Aufruf gehen, wenn du anstelle von "ganzeReihe", den Methodenaufruf von Mischen mit deinen beiden Arrays da reinpackst, das muss dann natürlich an der Stelle in der Main gemacht werden, wo dein System.out.* momentan steht.
 
Zuletzt bearbeitet:
so hast du die Methode definiert:
Code:
mische (int[] ersteReihe, int[] zweiteReihe)

so rufst du die Methode auf:
Code:
mische(ganzeReihe)

Fällt dir was auf?


ja das hab ich ja oben schon geschrieben, dass die main nicht weiß was ganzeReihe ist. aber wenn ich ganzeReihe auch übergebenlasse funktioniert der Rest nicht, weil ich das dann auch noch übergeben müsste.

???:L
 
Ohne mir den Code genauer anzuschauen vermute ich mal, dass du sowas wie:
Java:
int[] ersteReihe={2,3,5,7,8};
int[] zweiteReihe={1,4,6,10,11,12};
int[] ganzeReihe = mische(ersteReihe, zweiteReihe);
System.out.println(Arrays.toString(ganzeReihe));
machen sollst.
 
Statt so:
Java:
mische(ganzeReihe)

So aufrufen:
Java:
mische (ersteReihe, zweiteReihe)
 
Ohne mir den Code genauer anzuschauen vermute ich mal, dass du sowas wie:
Java:
int[] ersteReihe={2,3,5,7,8};
int[] zweiteReihe={1,4,6,10,11,12};
int[] ganzeReihe = mische(ersteReihe, zweiteReihe);
System.out.println(Arrays.toString(ganzeReihe));
machen sollst.

müssen tu ich gar nix. die aufgaben dneke ich mir selbst aus um zu üben oder nehme klassische beispiele.
 

Neue Themen


Zurück
Oben