Arrays

Java1998

Mitglied
Hallo,
ich habe eine Hausaufgabe auf bekommen, ich habe auch versucht sie zu lösen habe glaube ich einen ansatz, jedoch fehlt mir ein Gedanke z.B. wie schafft man es die eingegebenen Werte in die einzelnen arrays zu speichern oder die werte immer einen weiter zu leiten.

Aufgabe:
Es soll ein Algorithmus entwickelt werden, der solange neue Namen (Zeichenketten) einliest wie die eingegebene Zeichenkette nicht leer ist. Jeder neue Name soll immer an die erste Position eines Felds (Array) der Größe 5 gespeichert werden. Alle bereits im Feld vorhandenen Namen müssen dann entsprechend um eine Position nach hinten verschoben werden. Sind alle 5 Positionen im Feld bereits belegt, wird während des Verschiebens der letzte Name in dem Feld verworfen (existiert nach dem Verschieben nicht mehr). Sobald eine leere Zeichenkette eingegeben wird, wird diese nicht mehr dem Feld hinzugefügt, sondern nur noch des Feld vollständig ausgegeben (Ende des Algorithmus).

MfG
 

Joose

Top Contributor
Wie schaut dein Ansatz aus? Nimm dir mal Stift und Papier her und überlege dir welche einzelnen Schritte du dafür machen musst?
Kannst du etwas in eigene Methoden auslagern?
 

Java1998

Mitglied
Java:
public class vier extends MiniJava {

    /**
     * Dies ist der Einstiegspunkt in Ihren Algorithmus. Alle Anweisungen innerhalb der geschweiften Klammern
     * werden ausgefuehrt.
     * 
     * WICHTIG: Definieren Sie Ihren Algorithmus ausschliesslich in dem dafuer gekennzeichneten Bereich!
     * 
     * @param args Eine Menge zusaetzlicher Parameter, die beim Aufruf des Programms mit uebergeben werden
     * koennen. Diese Menge ist in der Regel leer und wird nur bei expliziter Nennenung in einer Aufgabenstellung
     * verwendet.
     */
    public static void main(String[] args) {   
        /* >>>> Beginn des Bereichs zur Definition von Algorithmen >>>> */
       
        String array[] = new String [5];
        String name = "null";
        String array1[] = new String [1];
        //Zuordnung von Null an jeden Array
        for(int i = 0; i < array.length; i++){
            array[i] = "null";
        }
        ausgabe(name, array, array1);

           
       
       
    }
    //Unterprogramm 1
    public static void ausgabe(String name, String array[], String array1[]){
   
        name = readString();
        array1[0] = name;
        if(name.length() > 0){
               
            array[0] = array1[0];
               
            write (array[0]);
            write (array[1]);
            write (array[2]);
            write (array[3]);
            write (array[4]);
           
            array[1] = array[0];
            array[0] = array1[0];
               
               
            array[2] = array[1];
            array[0] = array1[0];
            array[1] = array[0];
               
               
               

            ausgabe(name, array, array1);
        }
        else{
            write("Eingabe beendet");
        }
       
    }



        /* >>>>  Ende des Bereichs zur Definition von Algorithmen  >>>> */
}
 

Robat

Top Contributor
Was genau macht denn wie write Methode?
Momentan hast du noch das Problem, dass du die Werte im Array überschreibst ohne diese verrückt zu haben.
Das Verschieben solltest du von Hinten angehen
Code:
Stelle3 -> Stelle4
Stelle2 -> Stelle3
Stelle1 -> Stelle2
Stelle0 -> Stelle1
und am Ende deinen neuen, eingelesenen Wert ins Array an Stelle 0 packen.
So verhinderst du, dass du Werte überschreibst ohne sie vorher "gesichert" zu haben.

Wozu brauchst du array1 ? War das so vorgegeben?
 

Neue Themen


Oben