Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ein Array kann nichts ausgeben, eine Array ist ein Objekt zur Aufnahme von Daten.
Im ersten Schritt musst du ein Array des gewünschten Typs mit der Länge der gewünschten Werte deklarieren.
In Zeile 15 überschreibst Du 6 mal die Variable zahlenEingeben mit dem jeweils eingegebenen Wert. Das ist ja nicht das, was Du willst. Du willst Dir jeden der sechs Werte merken. Dazu könntest Du ein Array verwenden... Überleg mal, wie
Du legst ein Integer-Array mit einer Größe ( = Anzahl der Elemente) des in der Variablen "zahlenEingeben" gespeicherten Wertes an (was dem letzten eingegebenen Wert entspricht). Die einzelnen Elemente dieses Arrays werden beim Anlegen mit dem Wert "0" initialisiert. Im nächsten Schritt gibst du alle Elemente aus (die alle den Wert "0" enthalten).
Wie schon geschrieben wurde, möchtest du ein Array der Größe "6" anlegen und die eingegebenen Werte darin speichern.
Danke für eure Antworten, obwohl heute Karfreitag ist
Ich habe versucht, eure Ratschläge umzusetzen, aber es klappt trotzdem nicht. Habe jetzt schon mehrfach herumprobiert und bin fast verzweifelt. Naja, das ist alles, was mir einfällt:
Java:
import java.util.Scanner;
public class ArrayUebungen {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
/*int[] zahlen = new int[] {21, 52, 3, 4, 45, 6, 7, 8, 9};
for(int i = 0; i<zahlen.length; i++) {
System.out.print(zahlen[i]+" ");
}*/
int[] speicher = new int[6];
int zahlenEingeben = 0;
System.out.println("Gib 6 Zahlen ein: ");
for(int i = 1; i<=6; i++) {
zahlenEingeben = s.nextInt();
}
int[] gibAus = new int[zahlenEingeben];
for(int j = 0; j<gibAus.length; j++) {
System.out.println(gibAus[j]);
}
}
}
werden zwar sechs Werte eingelesen, aber immer derselben Variablen zugewiesen, die am Ende der Schleife den zuletzt eingegebenen Wert enthält. Du musst die eingegebenen Werte natürlich den einzelnen Elementen des Arrays zuweisen.
Außerdem hast du jetzt zwei Arrays. Du benötigst nur eines.
int[] speicher = new int[6]; // hier erzeugst du ein int-Array der Größe 6
int zahlenEingeben = 0;
System.out.println("Gib 6 Zahlen ein: ");
for(int i = 1; i<=6; i++) {
zahlenEingeben = s.nextInt(); // hier wird der Inhalt der Variablen jedesmal mit dem eingegebenen Wert überschrieben
speicher = new int[6]; // hier erzeugst du ein neues int-Array der Größe 6 und überschreibst damit das Ursprüngliche
// da dies innerhalb der Schleife passiert, machst du das sechmal.
}
for(int j = 0; j<speicher.length; j++) {
speicher[j] = zahlenEingeben; // hier weist du die zuletzt eingegebene Zahl dem j-ten Element des Arrays zu.
System.out.println(speicher[j]); // und gibst dieses dann anschließend aus
}
Das einzige Problem ist, dass direkt nach der Eingabe, die Zahl ausgegeben wird. Das liegt natürlich an dem System.out.println in der for-Schleife, aber anders geht es nicht. Außerhalb der Schleife ist i nicht bekannt. In eine Variable kann ich es auch nicht packen, dann wird mir nur die letzte, von allen eingegebenen Zahlen ausgegeben.
Ging es euch anfangs auch so, dass ihr manchmal Stunden über die einfachsten Probleme gegrübelt habt?
Oder muss ich mir sorgen machen?
Vielen Dank für eure Hilfe