In anderes Array Werte eingeben(Java)?

1 Antwort

Naja, genauso machen wie‘s da steht.

  • Überprüfen ob der input (deineNote) zwischen 1 und 6 liegt
  • Das erste leere Feld (bzw. den Index davon) ermitteln. Erstelle eine Variable index und setze sie auf -1. Iteriere per Schleife über alle Felder des Arrays, und schau, welches noch leer ist - da brichst du dann die Schleife ab (break) und schreibst den entsprechenden Index i in die eben erstellte Variable index.
  • Falls es kein erstes Leeres Feld gab, index also noch -1 ist, dann ist das Array bereits voll -> Fehlermeldung ausgeben
  • Ansonsten nun in das Array am eben ermittelten Index deineNote eintragen. Und anzahl um 1 erhöhen.
Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
Emi011 
Fragesteller
 18.04.2021, 16:57

Wie ist die Syntax dafür?

0
MrAmazing2  18.04.2021, 17:04
@Emi011

Dazu muss man wissen, dass die Elemente eines Arrays standardmßig auf 0 gesetzt werden. Bedeutet: Wenn Feld == 0, dann ist das Feld leer.

int index = -1;
for(int i = 0; i < notenListe.length; i++) {
 if (notenListe[i] == 0) { //Wenn das Feld leer ist
  index = i; //index des leeren Feldes speichern
  break; //Schleife beenden
 }
}
0
Emi011 
Fragesteller
 18.04.2021, 17:10
@MrAmazing2

okay, es heißt, dass ein array benötigt wird, aber ich habe doch hiermit das array erstellt oder?

public void note()

  { 

    int[] note = new int[10];

  }

0
MrAmazing2  18.04.2021, 17:33
@Emi011

Ja, hast du. Aber du hast es innerhalb der Funktion note() erstellt, folglich existiert das Array dann nur innerhalb dieser Funktion. Du sollst es global (also ausserhalb einer Funktion) erstellen. Das ginge so:

int[] note;

public void note() {

note = new int[10];

}

Dadurch ist note nun global, weil du es schon vor der Funktion erstellt hast.

0
Emi011 
Fragesteller
 18.04.2021, 17:52
@MrAmazing2

ich hänge jetzt seit 2 stunden am gleichen Problem und es funktioniert immer noch nicht. Deswegen lasse ich es jetzt einfach bleiben. Danke trotzdem für deine Hilfe.

0