m1ch43l® Geschrieben 19. Januar 2011 Geschrieben 19. Januar 2011 Hallo, ich habe eine Aufgabe aus der Schule... Man hat ein Notizbuch das ein Array mit 10 Feldern besitzen soll. Mit der Methode speichereNotiz() sollen die Felder gefüllt werden. Mein Problem ist, das ich es nicht verstehe, wie ich die Felder mit verschiedenen Strings füllen kann. Ich bekomm es nur soweit das ich ein String eingeben kann der alle Felder mit dem gleichen String füllt... public void speichereNotiz(String notiz) { for(int i=0; i<notizArray.length; i++) { notizArray[i]=notiz; } } Zitieren
S-k-y.F-i-r-e Geschrieben 19. Januar 2011 Geschrieben 19. Januar 2011 Du gibst der Funktion die Variable notiz mit. Diese Variable wird in der Schleife in einem Zeitraum von ca. 10ms in das Array geschrieben. Um Verschiedene Werte in das Array zu speichern, müsstest du eine Art Zähler implementieren die nicht 10 mal pro Funktionsaufruf speichert, sondern nur einmal und dann inkrementiert. Ich hoffe ich hab das verständlich ausgedrückt. Ansonsten kannst du auch mal den ganzen Quellcode hochladen, dann könnte man das besser beurteilen. Zitieren
m1ch43l® Geschrieben 19. Januar 2011 Autor Geschrieben 19. Januar 2011 Ich denke mir einfach nur das nach dem Schreiben der Notiz in das Array eine Abbruchbedingung rein muss, beim nächsten Aufruf der Methode müsste dann geprüft werden welches Array als nächstes frei ist und dort die neue Notiz geschrieben werden mit wieder einen Abbruchbedingung... Ich hab schon so viel ausprobiert aber ich verzweifel schon seit fast 3 Stden... public class NotizbuchArray { // Speicher für eine beliebige Anzahl an Notizen. private String[] notizArray; /** * Führe die Initialisierungen durch, die für ein Notizbuch * notwendig sind. */ public NotizbuchArray() { notizArray = new String[10]; } /** * Speichere eine neue Notiz in diesem Notizbuch. * @param notiz die zu speichernde Notiz. */ public void speichereNotiz(String notiz) { for(int i=0; i<notizArray.length; i++) { notizArray[i]=notiz; } } .... } Zitieren
schdief Geschrieben 19. Januar 2011 Geschrieben 19. Januar 2011 Versteh ich das richtig: Du hast dein Array und willst, dass jedes Mal, wenn duspeichereNotiz(String) aufrufst, dieser String im nächsten freien Feld gespeichert wird? Schau dir das mal an: public class NotizbuchArray { // Speicher für eine beliebige Anzahl an Notizen. private String[] notizArray; pirvate int Stelle; /** * Führe die Initialisierungen durch, die für ein Notizbuch * notwendig sind. */ public NotizbuchArray() { notizArray = new String[10]; Stelle = 0; } /** * Speichere eine neue Notiz in diesem Notizbuch. * @param notiz die zu speichernde Notiz. */ public void speichereNotiz(String notiz) { notizArray[Stelle]=notiz; Stelle ++; } .... } Jetzt müsstest du nur noch dafür sorgen, dass "Stelle" höchstens 9 wird. Z.B. kannst du dafür einfach nur das verwenden: Stelle = Stelle % 10; Aber ich weiß ja nicht wie die Vorgaben sind Zitieren
m1ch43l® Geschrieben 19. Januar 2011 Autor Geschrieben 19. Januar 2011 Danke, das hört sich sehr gut an. Ja du hast das richtig verstanden Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.