Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Array » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 10 Beiträge
Tina92

Nein, das ist nicht vorgegeben :-)

Vielen Dank für deine Hilfe :-)
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;
	}
}
Tina92

Sorry, der Funktionskopf ist so vorgegeben und darf nicht verändert werden.
eulerscheZahl

Das return in Zeile 20 ergibt keinen Sinn.
Und ein Array brauchst du dafür wirklich nicht.
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 :-(
Tina92

Sehr gut, vielen Dank :-)
eulerscheZahl

Ja.
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?
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;
}
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 :-)