Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Array mit Strings füllen

Empfohlene Antworten

Veröffentlicht

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;  

        }

    }

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. :rolleyes:

Ansonsten kannst du auch mal den ganzen Quellcode hochladen, dann könnte man das besser beurteilen.

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;  


        }

    }



....


}

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 :)

Danke, das hört sich sehr gut an. Ja du hast das richtig verstanden ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.