Array Elemente verschieben

lukaslanger

Mitglied
Hallo, ich möchte in einem Array Fußgänger simulieren die sich sich bei jedem Takt bewegen. Meine Console gibt aber ziemlich seltsame Sachen aus bzw es verschiebt die fußgänger(als 1 modelliert) nicht nur sonder es füllt praktisch mein ganzes array mit fußgängern. hier mein code:

Java:
public class Hauptklasse {
    public static char[][] array;
    public static char[][] temp;
    public static Random random = new Random();
    public static int y; // für den random

    /**
    * array wird aus array.tvt vom desktop geladen
    *
    * [USER=49078]@Return[/USER]
    */
    public static char[][] load() {
        String temp;
        try {
            Scanner sc = new Scanner(new BufferedReader(new FileReader("C:\\Users\\Lukas\\Desktop\\breite.txt")));
            int a = sc.nextInt();

            array = new char[a][a];
            sc = new Scanner(new BufferedReader(new FileReader("C:\\Users\\Lukas\\Desktop\\array.txt")));
            while (sc.hasNextLine()) {
                for (int i = 0; i < array.length; i++) {
                    String[] line = sc.nextLine().trim().split(" ");
                    for (int j = 0; j < line.length; j++) {
                        temp = line[j];
                        array[i][j] = temp.charAt(0);
                    }
                }
            }
            sc.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return array;
    }

    /**
    * Array wird ausgegeben
    */
    public static void ausgabe() {

        for (int j = 0; j < array[5].length; j++) {
            System.out.print(array[5][j]);
        }
        System.out.println();
    }

    public static void neuerTakt() {
        temp = array;
        y = random.nextInt(2);
        for (int i = 1; i < array.length - 1; i++) {

            if (array[5][i] == '1') {
                if (array[5][i + 1] == '.') {
                    temp[5][i + 1] = '1';
                }
                if (array[5][i + 1] == '+') {
                    temp[5][i + 2] = '1';
                }
                if (array[5][i - 1] == '.') {
                    temp[5][i] = '.';
                }
            }
            if (array[5][0] == '1') {
                temp[5][1] = '1';
                temp[5][0] = '.';
            }
            if (y == 0) {
                temp[5][0] = '1';
            }
            if (array[5][array.length - 1] == '1') {
                temp[5][array.length - 1] = '.';
            }
           
            array = temp;
            ausgabe();
        }


    }

    public static void main(String[] args) {
        load();

        for (int i = 0; i < 50; i++) {
            neuerTakt();
            ausgabe();
            System.out.println();
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

}
 
Zuletzt bearbeitet von einem Moderator:

mihe7

Top Contributor
@lukaslanger welche Symbole gibt es denn überhaupt? In der Regel verschiebt man Arrays ausgehend von der Richtung, in die man verschieben möchte, um sich nichts zu überschreiben. Will man also ein Array nach hinten verschieben, geht man von hinten nach vorne.
 

mihe7

Top Contributor
Wenn Du das mit Verschiebung machen willst, dann solltest Du das Array von rechts nach links durchlaufen.

Mal als Beispiel anhand eines "Arrays" ..11... Um den Fußgänger um 1 nach rechts zu verschieben, würdest Du ihn an die nächste Position "schreiben" und an seiner Stelle einen Punkt setzen. Gehst Du von links nach rechts durch das Array, erhältst Du nach der ersten Verschiebung: ...1... Gehst Du dagegen von rechts nach links, erhältst Du ..1.1..

Nachtrag: mal ausführlich
Code:
Von links nach rechts:

..11..
^ keine 1 -> weiter

..11..
 ^ keine 1 -> weiter

..11..
  ^ eine 1 -> auf die nächste Stelle verschieben und weiter

...1..
   ^ eine 1 -> auf die nächste Stelle verschieben und weiter

....1.
    ^ eine 1 -> auf die nächste Stelle verschieben und weiter
.....1
     ^ ENDE

Von rechts nach links:
..11..
     ^ keine 1 -> weiter

..11..
    ^ keine 1 -> weiter

..11..
   ^ eine 1 -> auf die nächste Stelle verschieben und weiter

..1.1.
  ^ eine 1 -> auf die nächste Stelle verschieben und weiter

...11.
 ^ keine 1 -> weiter

...11.
^ keine 1 -> ENDE
 
Zuletzt bearbeitet:

lukaslanger

Mitglied
Wenn Du das mit Verschiebung machen willst, dann solltest Du das Array von rechts nach links durchlaufen.

Mal als Beispiel anhand eines "Arrays" ..11... Um den Fußgänger um 1 nach rechts zu verschieben, würdest Du ihn an die nächste Position "schreiben" und an seiner Stelle einen Punkt setzen. Gehst Du von links nach rechts durch das Array, erhältst Du nach der ersten Verschiebung: ...1... Gehst Du dagegen von rechts nach links, erhältst Du ..1.1..

Nachtrag: mal ausführlich
Code:
Von links nach rechts:

..11..
^ keine 1 -> weiter

..11..
 ^ keine 1 -> weiter

..11..
  ^ eine 1 -> auf die nächste Stelle verschieben und weiter

...1..
   ^ eine 1 -> auf die nächste Stelle verschieben und weiter

....1.
    ^ eine 1 -> auf die nächste Stelle verschieben und weiter
.....1
     ^ ENDE

Von rechts nach links:
..11..
     ^ keine 1 -> weiter

..11..
    ^ keine 1 -> weiter

..11..
   ^ eine 1 -> auf die nächste Stelle verschieben und weiter

..1.1.
  ^ eine 1 -> auf die nächste Stelle verschieben und weiter

...11.
 ^ keine 1 -> weiter

...11.
^ keine 1 -> ENDE
super vielen dank, den gedanken mit dem von rechts nach links hatte ich gestern vor dem einschlafen, bin aber vorhin nicht mehr drauf gekommen.. vielen lieben dank :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Variablen [GELÖST]Elemente in Array um Schrittweite s verschieben Java Basics - Anfänger-Themen 2
W Elemente in einem Array nach 'oben' verschieben Java Basics - Anfänger-Themen 9
K Elemente eines Array verschieben Java Basics - Anfänger-Themen 18
D Elemente im Array verschieben Java Basics - Anfänger-Themen 15
0 Element aus Array löschen andere Elemente verschieben? Java Basics - Anfänger-Themen 7
A Elemente in einem Array Java Basics - Anfänger-Themen 5
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
H Array Elemente Java Basics - Anfänger-Themen 17
T Elemente aus Array zu TableView JavaFX übertragen Java Basics - Anfänger-Themen 2
J Array Elemente werden nicht gefunden! Java Basics - Anfänger-Themen 6
J Array; Elemente kopieren Java Basics - Anfänger-Themen 17
V Array aus Klasse um vererbte Elemente erweitern Java Basics - Anfänger-Themen 3
A Array Elemente extrahieren ! Java Basics - Anfänger-Themen 4
J Elemente in einem 2D-Array summieren Java Basics - Anfänger-Themen 6
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
J Elemente in Array speichern, löschen, ... Java Basics - Anfänger-Themen 3
arjoopy Kapselung Elemente aus Objekt-Array ausgeben Java Basics - Anfänger-Themen 8
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
C Array Elemente Paarweise vertauschen Java Basics - Anfänger-Themen 2
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
A Eindeutige Elemente aus Array extrahieren Java Basics - Anfänger-Themen 9
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
L Rückwärtsausgabe der Array-Elemente Java Basics - Anfänger-Themen 5
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
T Elemente im Array umdrehen Java Basics - Anfänger-Themen 9
L Elemente zufällig in ein Array verteilen Java Basics - Anfänger-Themen 12
T Wieviel Array-Elemente Java Basics - Anfänger-Themen 19
A Elemente in array umkehren Java Basics - Anfänger-Themen 32
H Alle Array-Elemente auf einmal überprüfen? Java Basics - Anfänger-Themen 10
R return Anweisungen und Array Elemente löschen Java Basics - Anfänger-Themen 6
B Ausgeben einzelner String Array Elemente funktioniert nicht Java Basics - Anfänger-Themen 4
C Array - Elemente umordnen ? Java Basics - Anfänger-Themen 20
B zwei zufällige elemente aus array lesen und überprüfen Java Basics - Anfänger-Themen 8
T Elemente aus zweidimensionalen Array löschen Java Basics - Anfänger-Themen 6
D Array Elemente auslesen Java Basics - Anfänger-Themen 14
M XML-Elemente in Array speichern Java Basics - Anfänger-Themen 26
T Überprüfen, ob Array Elemente hat Java Basics - Anfänger-Themen 22
G Rekursiv Array Elemente quadrieren Java Basics - Anfänger-Themen 2
D String array im konstruktor --> wie gibt man elemente an? Java Basics - Anfänger-Themen 2
V Elemente an Array anhängen Java Basics - Anfänger-Themen 5
S Elemente aus Array entfernen Java Basics - Anfänger-Themen 8
M Array Elemente löschen Java Basics - Anfänger-Themen 6
G Elemente in einem String-Array in einen String umwandeln Java Basics - Anfänger-Themen 2
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben