• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Methoden Frage: Array-Werte in anderer Methode ändern

J

johannes2308

Mitglied
Kann mir jemand helfen? Ich bin dabei ein TicTacToe zu programmieren, aber wenn ich das Feld als Array in der Methode board festlege kann ich dieses zwar in der main Methode aus, jedoch wenn ich dann eine Random Position festlegen will an der das board[randomposition] = 'o' gesetzt werden soll gibt das Programm mir zwar mit System.out.println eine random Ziffer an jedoch wird mir anschließend wieder ein leeres board also mit nur ' ' angezeigt und nichts ist 'o' gesetzt. Bin grad am verzweifeln.

Wäre cool wenn mir jemand helfen könnte!

Grüße

Methoden Veränderungen:
import java.math.*;

public static char board[] = new char[9];

public static void board() // erstellt Tictactoe spielfeld
{
    board[0] = ' ';
    board[1] = ' ';
    board[2] = ' ';
    board[3] = ' ';
    board[4] = ' ';
    board[5] = ' ';
    board[6] = ' ';
    board[7] = ' ';
    board[8] = ' ';
    
    System.out.println("[" + board[0] +"][" + board[1] + "][" + board[2] + "]");
    System.out.println("[" + board[3] +"][" + board[4] + "][" + board[5] + "]");
    System.out.println("[" + board[6] +"][" + board[7] + "][" + board[8] + "]");
}

public static void main(String[] args)
{
    int pos;
    int count = 0;
    
    board();
    
    do
    {
        do
        {
            
        pos = (int)(Math.random()*10) % 9;
        count++;
        }while(board[pos] != ' ' && count < 1000); // zieht random zahl an der board = 'o' gesetzt werden soll
        
        System.out.println("Spieler o wählt Position " + pos + "!");
        board[pos] = 'o';
        
        board(); // soll das board mit einer Stelle mit 'o' ausgeben
        
    }while(board[0] == ' ' || board[1] == ' ' ... || board[8] == ' '); // soll solange machen, wie board hat freie ' '
    
}
}
 
kneitzel

kneitzel

Top Contributor
In der Methode board() setzt du doch erst alle Felder auf ' '. Daher ist es leer.

Unterteile die Methode doch in zwei Methoden, denen Du dann sinnvolle Namen gibst, z.B. init() für das Initialisieren und print() für die Ausgabe.
 
J

johannes2308

Mitglied
In der Methode board() setzt du doch erst alle Felder auf ' '. Daher ist es leer.

Unterteile die Methode doch in zwei Methoden, denen Du dann sinnvolle Namen gibst, z.B. init() für das Initialisieren und print() für die Ausgabe.
Erstmal danke für deine schnelle Antwort, aber kannst du mir eventuell zeigen wie genau du das meinst?
 
kneitzel

kneitzel

Top Contributor
Derzeit hast Du folgenden Code:
Aktuelle Methode:
public static void board() // erstellt Tictactoe spielfeld
{
    board[0] = ' ';
    board[1] = ' ';
    board[2] = ' ';
    board[3] = ' ';
    board[4] = ' ';
    board[5] = ' ';
    board[6] = ' ';
    board[7] = ' ';
    board[8] = ' ';
    
    System.out.println("[" + board[0] +"][" + board[1] + "][" + board[2] + "]");
    System.out.println("[" + board[3] +"][" + board[4] + "][" + board[5] + "]");
    System.out.println("[" + board[6] +"][" + board[7] + "][" + board[8] + "]");
}

Der erste Part setzt alle Felder auf ' '.
Der zweite Part macht eine Ausgabe.

Somit ist klar: Ein Aufruf von board() wird immer ein leeres Feld ausgeben und danach ist das Feld leer.

Daher kann man das aufteilen:
Java:
public static void init()
{
    board[0] = ' ';
    board[1] = ' ';
    board[2] = ' ';
    board[3] = ' ';
    board[4] = ' ';
    board[5] = ' ';
    board[6] = ' ';
    board[7] = ' ';
    board[8] = ' ';
}

public static void print()
{
    System.out.println("[" + board[0] +"][" + board[1] + "][" + board[2] + "]");
    System.out.println("[" + board[3] +"][" + board[4] + "][" + board[5] + "]");
    System.out.println("[" + board[6] +"][" + board[7] + "][" + board[8] + "]");
}

Nun kannst Du init() aufrufen, wann immer du das Brett leer initialisiert haben willst.
Und zur Ausgabe rufst du print aus.
 
J

johannes2308

Mitglied
Derzeit hast Du folgenden Code:
Aktuelle Methode:
public static void board() // erstellt Tictactoe spielfeld
{
    board[0] = ' ';
    board[1] = ' ';
    board[2] = ' ';
    board[3] = ' ';
    board[4] = ' ';
    board[5] = ' ';
    board[6] = ' ';
    board[7] = ' ';
    board[8] = ' ';
   
    System.out.println("[" + board[0] +"][" + board[1] + "][" + board[2] + "]");
    System.out.println("[" + board[3] +"][" + board[4] + "][" + board[5] + "]");
    System.out.println("[" + board[6] +"][" + board[7] + "][" + board[8] + "]");
}

Der erste Part setzt alle Felder auf ' '.
Der zweite Part macht eine Ausgabe.

Somit ist klar: Ein Aufruf von board() wird immer ein leeres Feld ausgeben und danach ist das Feld leer.

Daher kann man das aufteilen:
Java:
public static void init()
{
    board[0] = ' ';
    board[1] = ' ';
    board[2] = ' ';
    board[3] = ' ';
    board[4] = ' ';
    board[5] = ' ';
    board[6] = ' ';
    board[7] = ' ';
    board[8] = ' ';
}

public static void print()
{
    System.out.println("[" + board[0] +"][" + board[1] + "][" + board[2] + "]");
    System.out.println("[" + board[3] +"][" + board[4] + "][" + board[5] + "]");
    System.out.println("[" + board[6] +"][" + board[7] + "][" + board[8] + "]");
}

Nun kannst Du init() aufrufen, wann immer du das Brett leer initialisiert haben willst.
Und zur Ausgabe rufst du print aus.
Klasse! Jetzt hats funktioniert. Ich danke dir.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
H Frage zum 2d Array Java Basics - Anfänger-Themen 1
H Frage zum Array Java Basics - Anfänger-Themen 17
W Stream Array List - Frage Java Basics - Anfänger-Themen 5
O Ganz einfache Frage - Array Java Basics - Anfänger-Themen 5
H Frage zu Übungsaufgabe, Array Java Basics - Anfänger-Themen 7
O boolean Array Frage! Java Basics - Anfänger-Themen 4
A Frage zu einem Array Java Basics - Anfänger-Themen 14
M Eine Frage zu Array Java Basics - Anfänger-Themen 6
V jab ich eclipse verrückt gemacht :D ? array Jpanel, Jlabel Grafik Fehler / Frage Java Basics - Anfänger-Themen 5
M Methoden Array unbedingt klonen? und Point Frage. Java Basics - Anfänger-Themen 4
C Input/Output Anfänger Array-Verständnis Frage Java Basics - Anfänger-Themen 7
S Frage zu Array Java Basics - Anfänger-Themen 7
B Frage zur Effizienz - alle Array-Felder initialisieren oder jedes Feld auf null prüfen? Java Basics - Anfänger-Themen 4
S Frage zu Elterklasse Array Java Basics - Anfänger-Themen 6
P Array Frage Java Basics - Anfänger-Themen 3
S Frage zur Array Ausgabe Java Basics - Anfänger-Themen 3
R Kleine Frage zu Array Java Basics - Anfänger-Themen 2
G array Frage Java Basics - Anfänger-Themen 2
G array frage Java Basics - Anfänger-Themen 11
F Frage zu Array Java Basics - Anfänger-Themen 2
T Frage zu einem kleinen programm mit array's Java Basics - Anfänger-Themen 8
B array frage Java Basics - Anfänger-Themen 10
K Kurze Frage zur Sortierung von Array-Inhalten Java Basics - Anfänger-Themen 5
A Array Verständnis Frage Java Basics - Anfänger-Themen 4
M Frage zu Array Java Basics - Anfänger-Themen 2
C Frage zu: String einlesen -> Array von Chars erhalten Java Basics - Anfänger-Themen 4
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
I String.split regex Frage Java Basics - Anfänger-Themen 2
C Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
B Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer. Java Basics - Anfänger-Themen 23
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
C Exception-Frage Java Basics - Anfänger-Themen 3
J Eine Frage zur Schreibweise == ? : Java Basics - Anfänger-Themen 3
S Frage des Designs Java Basics - Anfänger-Themen 1
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
pkm Frage zu Servletfunktion Java Basics - Anfänger-Themen 0
B Frage zur Währungsumrechnung Java Basics - Anfänger-Themen 3
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
D Frage zur IDE IntelliJ IDEA Java Basics - Anfänger-Themen 6
N Frage zum Newton-Fraktal Java Basics - Anfänger-Themen 1
H Frage zu interfaces Java Basics - Anfänger-Themen 1
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
I Frage zu SkipList Java Basics - Anfänger-Themen 4
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
Kirby.exe Allgemeine Frage Java Basics - Anfänger-Themen 3
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
J Kleine Frage zu OOP Java Basics - Anfänger-Themen 371
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
F Frage zu Iteratoren Java Basics - Anfänger-Themen 2
C Erste Schritte Frage zur ArrayList Java Basics - Anfänger-Themen 15
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
H Frage zur ermittlung eines doppelte Paars aus Sotieralgorithmus Java Basics - Anfänger-Themen 4
G Schach -Frage 2- Maussteuerung Java Basics - Anfänger-Themen 7
G Schach in Java - Allgemeine Frage zur Architektur Java Basics - Anfänger-Themen 7
B Fachliche Frage bei Rechnungen Java Basics - Anfänger-Themen 16
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
B Frage zu Datenbank Design - Rechnungen, Angebote... und deren Positionen Java Basics - Anfänger-Themen 4
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 2
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
H Frage zu Parameter einer Methode Java Basics - Anfänger-Themen 3
H Frage zur if-Bedingung bzw switch case Java Basics - Anfänger-Themen 6
H Frage um Eingbeaufforderung zu realisieren Java Basics - Anfänger-Themen 4
H Frage zu Methoden/Funktionen Java Basics - Anfänger-Themen 3
X Frage zur einer ArrayList in einer ArrayList Java Basics - Anfänger-Themen 5
S Frage zu Scanner Java Basics - Anfänger-Themen 3
M Rationale Zahl erkennen - Kurze Frage zum Restwert nach Division Java Basics - Anfänger-Themen 3
D Komplizierte Frage zum Writer Java Basics - Anfänger-Themen 4
I Frage zu Generics und Wildcards Java Basics - Anfänger-Themen 2
G Frage an die Experten Java Basics - Anfänger-Themen 39
H Frage zu fehler Java Basics - Anfänger-Themen 24
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
B Frage zu Arrays Java Basics - Anfänger-Themen 3
O Bedingter Operator eine Frage! Java Basics - Anfänger-Themen 10
B Threads Thread sleep() Method einfache Frage Java Basics - Anfänger-Themen 8
B Verständnis Frage zu der Aufgabe Java Basics - Anfänger-Themen 30
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
F Erste Schritte Frage zu simplem Taschenrechner(switch) Java Basics - Anfänger-Themen 16
D Frage zu Exceptions Java Basics - Anfänger-Themen 8
H Frage um den Code bildlich darzustellen Java Basics - Anfänger-Themen 2
D regex Aufbau Frage Java Basics - Anfänger-Themen 4
J Frage zu Pfaden Java Basics - Anfänger-Themen 1
J Frage zur Darstellung Java Basics - Anfänger-Themen 2
D Wie frage ich ab ob die Linke maus Taste gedrückt wurde? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben