Array

Neue Frage »

Auf diesen Beitrag antworten »
Tina92 Array

Meine Frage:
Hallo :-) Die nächste Frage:

Wenn ich eine Methode habe die lautet:

public static int erzeugeArray (int [] array)
{}


und eine zweite Methode:

public static int [] erzeugeArray2 (int n)
[}



Wo liegt denn der Unterschied zwischen diesen beiden Methoden und vor allem wie bekomme ich das return bei der zweiten Methode hin?



Meine Ideen:
Vielen Dank :-)
 
Auf diesen Beitrag antworten »
eulerscheZahl

Bei Methode 1 übergibst du ein Array als Argument und lieferst als Ergebnis eine einzige Zahl zurück.
Bei Methode 2 ist es genau umgekehrt: du übergibst eine Zahl und lieferst ein Array.
Eine mögliche Implementierung:
code:
1:
2:
3:
4:
public static int[] erzeugeArray2(int n) {
	int[] array = new int[n];
	return array;
}
Auf diesen Beitrag antworten »
Tina92

Vielen Dank :-)

Eine Frage noch:

Warum muss die main - Funktion static sein?

Ich hätte jetzt gesagt, dass Variablen und Methoden die static sind nicht an die Existenz eines bestimmten Objektes gebunden sind. Da die main-Funktion der Einstiegspunkt in das Programm ist, muss diese somit auch static sein, da sie sonst eben an ein Objekt gebunden wäre?
Auf diesen Beitrag antworten »
eulerscheZahl

Ja.
 
Auf diesen Beitrag antworten »
Tina92

Sehr gut, vielen Dank :-)
Auf diesen Beitrag antworten »
Tina92

Ich müsste noch einmal auf das Array zurückkommen:

Die Ausgabe soll lauten:

1
1,2
1,2,3
1,2,3,4
1,2,3,4,5

Hier mein Code:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
package codingbat;

public class CodingBat 
{
    public static void main (String[] args)
    {
        System.out.println(erzeugeArray(5));
    }

    public static int [] erzeugeArray (int n)
    {
        int [] array = new int [n];
        for (int i=1; i<=n;i++)
        {
            if (i!=1) System.out.println("");
            for (int j=1; j<=i;j++)
            {
                array[j] = j; 
                System.out.print(array[j] + ", ");
                return array; 
            }
        }
        return array; 
    }
}




Irgendwie finde ich meinen Fehler nicht :-(
Auf diesen Beitrag antworten »
eulerscheZahl

Das return in Zeile 20 ergibt keinen Sinn.
Und ein Array brauchst du dafür wirklich nicht.
Auf diesen Beitrag antworten »
Tina92

Sorry, der Funktionskopf ist so vorgegeben und darf nicht verändert werden.
Auf diesen Beitrag antworten »
eulerscheZahl

Aber es ist nicht vorgegeben, wie oft du die Funktion aufrufen darfst, oder?
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
import java.util.Arrays;

public class Main {
	public static void main(String[] args) {
		for (int i = 1; i <= 5; i++) {
			System.out.println(Arrays.toString(erzeugeArray(i)));
		}
	}

	public static int[] erzeugeArray(int n) {
		int[] array = new int[n];
		for (int i = 0; i < n; i++) {
			array[i] = i + 1;
		}
		return array;
	}
}
Auf diesen Beitrag antworten »
Tina92

Nein, das ist nicht vorgegeben :-)

Vielen Dank für deine Hilfe :-)
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »