Initialisieren einer zufälligen Matrix

Status
Nicht offen für weitere Antworten.

neila_1982

Mitglied
Hallo ich versuche gerade eine Matrix zu programmieren, in der mit einer Ws 2/3 zufällig ein X oder Y auf dem Feld generiert wird, ansonsten ist das Feld leer. Leider liefert mir das Programm eine Fehlermeldung. Ich glaube, es liegt an dem Zeichen in der Zeile 11.. Weiß aber im Moment keine Alternative dafür. Wäre für jeden Rat dankbar.
Schöne Grüsse

Java:
import java.util.Random;

public class Main {
	static int x_max = 10;
	static int y_max = 10;

	public static void gebeAus(boolean[][] m) {
		for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 10; j++) {
				if (m[i][j])
				//gebe entweder x oder y aus
					((System.out.print("X ")||(System.out.print("Y"));
				else
					System.out.print("  ");
			}
			System.out.println();
		}
	}





	// Startzustand
	public static boolean[][] init() {
		boolean[][] welt = new boolean[x_max][y_max];

		Random generator = new Random();

		for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 10; j++) {
				if (generator.nextDouble() < (2/3)) {
					welt[i][j] = true;
				}
			}
		}
		return welt;
	}

	public static void main(String[] args) {
		// weisen init eine Variable zu

		boolean[][] welt = init();
		// 1. Zustand
		Main.gebeAus(welt);
		

		}
	}

mit folgender Fehlermeldung

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The left-hand side of an assignment must be a variable
Syntax error, insert ")" to complete Expression
Syntax error, insert ")" to complete Expression
Syntax error, insert "AssignmentOperator Expression" to complete Expression

at Main.gebeAus(Main.java:11)
at Main.main(Main.java:44)
 
S

SlaterB

Gast
> if (m[j])
> //gebe entweder x oder y aus
> ((System.out.print("X ")||(System.out.print("Y"));

kannst du den Sinn dieses Nicht-Java-Codes sprachlich erklären?
was soll da passieren, soll Java per Zufall zwischen X und Y wählen?
 

neila_1982

Mitglied
Natürlich gerne. ;) In der Methode init() soll eine Matrix generiert werden und mit einer WS von 2/3 ist das Feld an der Stelle m[j] = dann wahr.

Mit Hilfe dieser Information soll mit der Methode gebeaus das Feld mit X oder Y befüllt werden, wenn m[j] wahr ist, ansonsten leer.

Für nur X kann ich das Feld ausgeben. Aber wenn ich wenn zwischen X oder Y entscheiden soll, funktioniert es nicht? Warum??
 
S

SlaterB

Gast
ich verstehe es immer noch nicht,
m[j] false ist, dann leer, es geht also allein um m[j] = true,
welche andere 'Information' meinst du dann, die über X oder Y entscheidet?
 

neila_1982

Mitglied
Also, es soll per Zufall mit einer Ws 2/3 zwischen X und Y entschieden werden, wenn m[j] wahr ist, wenn du das meinst.:)
 
S

SlaterB

Gast
in Kürze ist es nicht mehr lustig,

2/3 ist klar, das passiert in init, das Array ist perfekt gesetzt,

------

nun gehts nach gebeAus(), in der ganzen Methode taucht 2/3 nicht auf, bitte das nicht mehr erwähnen,
immer noch die Frage: wovon hängt es ab, ob X oder Y kommt? der Array-boolean Wert wählt nur zwischen leer und X/Y,
aber wenn X/Y dran ist, was dann, wer entscheidet ob X oder Y oder beides?

oder soll das 2/3 nun auch in gebeAus() neu eine Rolle spielen? bisher ist das dort ja nicht da

------

2/3 ist übrigens 0 in Java, int werden immer abgerundet,
scheibe
2.0/3.0
 
Zuletzt bearbeitet von einem Moderator:

neila_1982

Mitglied
mmmh... eigentlich soll es per Zufall entschieden werden, ob X oder Y gesetzt wird. Heißt das nun. Ich muss nochmal einen Zufallgenerator in die Funktion gebeaus programmieren, der zwischen X und Y entscheidet???
 
S

SlaterB

Gast
exakt

if (zufall) {
X
} else {
Y
}

so sieht normaler Java-Code aus,
also das mit dem Zufall ist abgekürzt, kennst du aber ja von init
 

neila_1982

Mitglied
Ok, Ich habe jetzt den Code ummodifiziert und compeliert. Er ist soweit fehlerfrei, aber jetzt gibt er überhaupt nichts aus????

Hier ist der Code

Java:
import java.util.Random;

public class Main {
	static int x_max = 10;
	static int y_max = 10;

	public static void gebeAus(boolean[][] m) {
		Random zufall = new Random();
		for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 10; j++) {
				if (m[i][j]){
					if (zufall.nextDouble()> 0.5)
						System.out.print(" X");
					else
						System.out.print(" Y");
					}
				else
					System.out.print("  ");
			}
			System.out.println();
		}
	}





	// Startzustand
	public static boolean[][] init() {
		boolean[][] welt = new boolean[x_max][y_max];

		Random generator = new Random();

		for (int i = 0; i < 10; i++) {
			for (int j = 0; j < 10; j++) {
				if (generator.nextDouble() < (0.5)) {
					welt[i][j] = true;
				}
			}
		}
		return welt;
	}

	public static void main(String[] args) {
		// weisen init eine Variable zu

		boolean[][] welt = init();
		// 1. Zustand
		Main.gebeAus(welt);
		

		}
	}
 
S

SlaterB

Gast
bei mir funktionierts, höchstens bei einem extremen Zufall von 1 zu 2^100 wären alle boolean false,
selbst das könnte man mit Ausgabe von Z statt Leerstring umgehen,

auch paar Testausgaben wären hilfreich um generelle Ausgabe-Fehlfunktionen auszuschließen,
Anfang der main:
System.out.prinlnt("Anfang");

letzter Befehl in der main:
System.out.prinlnt("Ende");
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
T Standardkonstruktor, Attribute initialisieren Java Basics - Anfänger-Themen 5
Lion.King Array deklarieren und initialisieren Java Basics - Anfänger-Themen 5
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
R Ein Multidimensionales String Array initialisieren und Deklarieren Java Basics - Anfänger-Themen 2
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
C initialisieren eines arrays richtiger Größe und mit geeignetem Datentyp Java Basics - Anfänger-Themen 26
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
J Ist es möglich einen int Array wirklich leer zu initialisieren oder zu füllen? Java Basics - Anfänger-Themen 21
C Arrays - deklarieren, initialisieren? Ist das ein Objekt? Java Basics - Anfänger-Themen 3
I Wo am besten eine String Konstante initialisieren? Java Basics - Anfänger-Themen 5
X Attribut initialisieren Java Basics - Anfänger-Themen 1
M Deklarieren und Initialisieren von Arrays Java Basics - Anfänger-Themen 3
Dawinartor Erste Schritte Statisch, Initialisieren, Deklarieren, ... Java Basics - Anfänger-Themen 1
L Variable in If-Statement initialisieren Java Basics - Anfänger-Themen 4
C Verschachteltes Array initialisieren Java Basics - Anfänger-Themen 6
D Vektoren Initialisieren Java Basics - Anfänger-Themen 1
D Boolean Array initialisieren Java Basics - Anfänger-Themen 4
T Mehrdimensionale Arrays mit geschachtelter for-Schleife initialisieren Java Basics - Anfänger-Themen 14
J Array ausserhalb der Methode initialisieren Java Basics - Anfänger-Themen 4
b1ck Integer initialisieren bei do-while-Schleife Java Basics - Anfänger-Themen 11
M Java Arrays mit Werten initialisieren Java Basics - Anfänger-Themen 3
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
V Tastatur initialisieren JFrame Probleme Java Basics - Anfänger-Themen 6
L Arrays richtig initialisieren Java Basics - Anfänger-Themen 1
W Klassen [GELÖST] Objekte während der Laufzeit mit neuen veränderten Werten beliebig oft initialisieren Java Basics - Anfänger-Themen 2
B Rekursion - Variable initialisieren Java Basics - Anfänger-Themen 2
T Variable deklarieren, ohne zu initialisieren... Java Basics - Anfänger-Themen 3
M Objekt Array an konstruktor übergeben und Initialisieren Java Basics - Anfänger-Themen 1
K Objekte im Konstruktor initialisieren Java Basics - Anfänger-Themen 3
CyberFish initialisieren, obwohl es gemacht wurde! Bitte um Hilfe Java Basics - Anfänger-Themen 10
K Array mit Double initialisieren Java Basics - Anfänger-Themen 10
J statische Methoden auf eine LinkedList initialisieren? Java Basics - Anfänger-Themen 5
B Frage zur Effizienz - alle Array-Felder initialisieren oder jedes Feld auf null prüfen? Java Basics - Anfänger-Themen 4
J StringBuilder initialisieren und Löschbefehl Java Basics - Anfänger-Themen 20
M Mehrdimensionales Array initialisieren Java Basics - Anfänger-Themen 3
DerGroßeNargus Doppelte Liste initialisieren Java Basics - Anfänger-Themen 2
R Sehr einfache möglichkeit ArrayList oder Array zu initialisieren? Java Basics - Anfänger-Themen 8
N Mit Kontrukor der Oberklasse lokale Variable initialisieren Java Basics - Anfänger-Themen 2
darekkay Datentypen HashSet bzw. LinkedList mit Werten initialisieren Java Basics - Anfänger-Themen 3
S Mehrdimensionales Char-Array initialisieren Java Basics - Anfänger-Themen 17
S mögliche Fehler beim Initialisieren von Variablen Java Basics - Anfänger-Themen 19
C Zweidimensionales String Array initialisieren Java Basics - Anfänger-Themen 2
D List<String[]> initialisieren Java Basics - Anfänger-Themen 4
D Problem mit Objekten Vererbung deklarieren initialisieren usw Java Basics - Anfänger-Themen 12
B Arrays initialisieren Java Basics - Anfänger-Themen 2
S Variable Initialisieren, aber wo? Java Basics - Anfänger-Themen 36
Y Array initialisieren, nach der Abfrage? Java Basics - Anfänger-Themen 3
K Datentypen Globale Variable direkt initialisieren oder im Konstruktor? Java Basics - Anfänger-Themen 13
N ARRAY initialisieren Java Basics - Anfänger-Themen 5
T Mehrere Variablen gleichzeitig initialisieren Java Basics - Anfänger-Themen 2
F Dreidimensionales Array? Wie initialisieren? Java Basics - Anfänger-Themen 5
Forlan OutputStream Initialisieren Java Basics - Anfänger-Themen 4
Ham Verhalten beim Initialisieren von Arrays Java Basics - Anfänger-Themen 16
A log4j - wie kann ich im Quellcode initialisieren statt in der properties-Datei? Java Basics - Anfänger-Themen 2
G Variablen initialisieren vor super() Java Basics - Anfänger-Themen 8
J ArrayLists initialisieren Java Basics - Anfänger-Themen 21
S Array initialisieren Java Basics - Anfänger-Themen 8
MQue ArrayList initialisieren Java Basics - Anfänger-Themen 17
G GUI in main Initialisieren Java Basics - Anfänger-Themen 15
M 2d string array initialisieren ohne neu String Java Basics - Anfänger-Themen 3
B Variable mit Methode initialisieren Java Basics - Anfänger-Themen 11
A char variable deklarieren und nicht initialisieren Java Basics - Anfänger-Themen 10
S statische variable initialisieren mit exception Java Basics - Anfänger-Themen 2
W Feld von boolean in main initialisieren. Java Basics - Anfänger-Themen 4
G Konstante im Konstruktur initialisieren Java Basics - Anfänger-Themen 8
G ArrayList initialisieren Java Basics - Anfänger-Themen 25
M Zweidimensionales String-Array initialisieren Java Basics - Anfänger-Themen 6
O String global initialisieren Java Basics - Anfänger-Themen 5
B ArrayList mit Startwerten initialisieren Java Basics - Anfänger-Themen 8
V Zweidimensionalen Array initialisieren Java Basics - Anfänger-Themen 3
G String Array initialisieren Java Basics - Anfänger-Themen 4
R Klassenvariable initialisieren Java Basics - Anfänger-Themen 9
A String als Nullstring initialisieren Java Basics - Anfänger-Themen 2
F double[][] initialisieren Java Basics - Anfänger-Themen 9
G Arrays initialisieren Java Basics - Anfänger-Themen 8
M Wann ist initialisieren sinnvoll? Java Basics - Anfänger-Themen 4
G Wie Array initialisieren? Java Basics - Anfänger-Themen 10
H HashMap initialisieren<Key, Value>? Java Basics - Anfänger-Themen 9
N Feld initialisieren Java Basics - Anfänger-Themen 9
M 2-dimensionales Array initialisieren Java Basics - Anfänger-Themen 5
W 50 Variablen in Schleife initialisieren Java Basics - Anfänger-Themen 6
S String mit Konstruktor (per Übergabe) initialisieren Java Basics - Anfänger-Themen 10
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
ixChronos Letzten 4 Ziffern einer großen Zahl ausgeben Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
L Variablenwerte aus einer Methode übergeben Java Basics - Anfänger-Themen 2
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
T Aufruf der Methode einer Oberklasse, wenn sie in der Unterklasse überschrieben ist. Polymorphie. Java Basics - Anfänger-Themen 2
B Kommunikation mit Seriellen Schnittstellen + Integration einer lib Java Basics - Anfänger-Themen 1
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben