[Java] Schachbrett Frage

Status
Nicht offen für weitere Antworten.

back4ever

Mitglied
Hi

Bin blutiger Java Anfänger
und hänge bei meiner 10. und letzten Aufgabe
bei dem Schachbrett

So sieht es aus:


Code:
****       ****      ****      ****      ****      ****         
****       ****      ****      ****      ****      ****
****       ****      ****      ****      ****      ****
     ****       ****      ****      ****      ****       ****
     ****       ****      ****      ****      ****       ****
     ****       ****      ****      ****      ****       ****
 ****      ****      ****      ****      ****      ****         
 ****      ****      ****      ****      ****      ****
 ****      ****      ****      ****      ****      ****
     ****       ****      ****      ****      ****       ****
     ****       ****      ****      ****      ****       ****
     ****       ****      ****      ****      ****       ****
****       ****      ****      ****      ****      ****         
****       ****      ****      ****      ****      ****
****       ****      ****      ****      ****      ****
     ****       ****      ****      ****      ****       ****
     ****       ****      ****      ****      ****       ****
     ****       ****      ****      ****      ****       ****
****       ****      ****      ****      ****      ****         
****       ****      ****      ****      ****      ****
****       ****      ****      ****      ****      ****
     ****       ****      ****      ****      ****       ****
     ****       ****      ****      ****      ****       ****
     ****       ****      ****      ****      ****       ****

Ich sitz jetzt schon das genaze Wochenende dran
der Trainer meinte das es mit 2 "for" Schleifen geht
Ich bitte um Aufklärung
wenns geht mit genauesten Kommentaren
damit ich versuche das nachzu vollziehen

Danke!
 
S

SlaterB

Gast
eine Schleife außen Zeilen, die andere innen für Spalten,

Zeilen:
alle drei Zeilen Wechsel von Zustand A nach B,

Spalten:
alle drei Spalten Wechsel von Zustand C nach D,

zu jedem Punkt herrscht nun entweder Zustand AC, AD,BC oder BD,
abhängig davon ein * oder ein Leerzeichen
 

back4ever

Mitglied
sorry ich weiss nicht wo ich anfangen soll und wo aufhören
wäre nett wenn du mir den richtigen Code postest
damit ich wenigsten versuche es zu verstehen
wenn ich dann auch nicht verstehe ist eh alles umsonst
 

thE_29

Top Contributor
Du sollst dieses Brett da oben nachproggen?

Na was denkst du wie das geht... (irgendwelche Ideen musst ja haben)
 

back4ever

Mitglied
da kommt nix gescheites dabei raus :(

Code:
int a = 1;
		int b = 1;
		int c = 1;
			
				for (a = 1; a < 5; a++)
				{	
					System.out.print("****");
					
					for (b = 1; b < 3; b++)
					{
						System.out.print("   ");
					
						
						for (c = 1; c < 5; c++) 
						{
							System.out.print("   ");
						
							System.out.print("****");
						}
						
						
				
					}
				}
 
S

SlaterB

Gast
ich habe es dir schon komplett verraten,
was dir jetzt noch fehlt ist überhaupt Java-Denkweise,
unabhängig von irgendwelchen Aufgaben,

also frage entweder direkt nach der fertigen Lösung oder sage direkter was dir fehlt,
dein Code kann insofern nicht stimmen, da da 3 statt 2 Schleifen genutzt werden,

mach doch mal zum Anfang zwei Schleifen,
die 60x24 Felder komplett mit Sternchen ausmalen,
24 Zeilen mit je 60 Sternchen,

bevor du sowas nicht schaffst musst du über komplexe Brettmuster gar nicht erst nachdenken

----------

arbeite mal diesen Thread durch,
vielleicht hilfts:
http://www.java-forum.org/de/viewtopic.php?p=224150

---------

allgemein wichtig für das Vorgehen bei solchen Aufgaben:
du musst immer eine Zeile fertig haben bevor die nächste begonnen wird,
du kannst allso nicht einen
****
****
****
Block malen und danach noch einen daneben, sondern
****____*****____**** ...
und danach die nächste Zeile
****____*****____**** ...
genause und irgendwan einen Wechsel zu
____*****____**** ____..
 

The_S

Top Contributor
Code:
public class Schachbrett {
	
	public static void main(String[] args) {
		
		int quad = 4; // So groß ist ein Feld (höhe und breite)
		int fields = 8; // So viele Felder sind in einer Reihe/hat das Feld Reihen
		char black = '#'; // Zeichen für Schwarz
		char white = ' '; // Zeichen für Weiß
		char printChar = black; // char der gezeichnet werden soll
		boolean startWithBlack = true; // hier wird angegeben ob die Zeile mit mit Schwarz oder Weiß anfangen soll
		for (int i = 0; i < fields * quad; i++) { // läuft so oft durch, wie es Zeilen gibt (Felder * Höhe der Felder)
			if (((i / quad) % 2) == 0) { // Überprüft ob mit schwarz oder weiß angefangen werden soll
				startWithBlack = true;
			}
			else {
				startWithBlack = false;
			}
			for (int j = 0; j < fields * quad; j++) { // läuft so oft durch, wie es Zeichen in einer Zeile gibt (Felder * Breite der Felder)
				if (((j / quad) % 2) == 0) { // überprüft ob ein weißes oder schwarzes zeichen gemalt werden soll
					if (startWithBlack) {
						printChar = black;
					}
					else {
						printChar = white;
					}
				}
				else {
					if (startWithBlack) {
						printChar = white;
					}
					else {
						printChar = black;
					}
				}
				System.out.print(printChar); // Zeichnet den Charakter
			}
			System.out.println(); // Zeichnet eine neue Zeile
		}
	}
}

Eine von vielen Möglichkeiten ...
 

back4ever

Mitglied
SlaterB hat gesagt.:
mach doch mal zum Anfang zwei Schleifen,
die 60x24 Felder komplett mit Sternchen ausmalen,
24 Zeilen mit je 60 Sternchen,

bevor du sowas nicht schaffst musst du über komplexe Brettmuster gar nicht erst nachdenken

du hast recht,vielen dank
und das werde ich jetzt auch machen
 

back4ever

Mitglied
Ich hoffe das du das gemeint hast

Code:
public class Aufgabe10a
{
	public static void main(String[] args)
	{
	
		int zeile = 1;
		int stern = 1;
		
			
			for(zeile = 1;zeile < 24;zeile++)
			{
				
				System.out.print("*");
			
		
			for(stern = 1;stern < 61;stern++)
			
			System.out.print("*");
				System.out.print("\n");	
			}
			
		
	}
}
 
S

SlaterB

Gast
das System.out.print("*");
außerhalb der inneren Schleife ist ein ganz böser Fehler,
wieso wird da ein Stern gezeichnet zu Beginn jeder Zeile?

besser erstmal nur in der inneren Schleife malen, wenn sowohl Zeile als auch Spalte gegeben sind,

etwas schicker siehts dann so aus
Code:
public class Aufgabe10a {
    public static void main(String[] args) {

        int spalten = 60;
        int zeilen = 24;

        for (int zeile = 0; zeile < zeilen; zeile++) {
            for (int spalte = 0; spalte < spalten; spalte++) {
                System.out.print("*");
            }
            System.out.print("\n");
        }

    }
}

Extrem-Tipp:
NIE (NNIIEE) eine Schleife ohne { und }, egal wie kurz der Inhalt ist

-----------

wenn das gegeben ist, heißt es rechnen, ähnlich wie Hobbit es schon gezeigt hat,
z.B. muss in der 5., 10., 15. Spalte usw. immer ein Leerzeichen,
in jeder Zeile
->
if (5. oder 10. oder .. Zeile) {
Leerzeichen
} else {
..
}

sowas berechnet man idealerweise mit durch und modulo (/, %),
z.B. if (spalte % 5 == 0),
ohne erstmal ne Weile mit solchen Berechnungen zu spielen wirst du nicht weit kommen,

-------

ein ganz anderer Ansatz wäre übrigens, statt der 60 Zeilen auf
12 runterzugehen und immer fertige Blöcke
****_ oder _____ zu zeichnen,
das wäre einfacher und auch leichter zu modifizieren, siehe in Hobbits Beispiel

int quad = 4; // So groß ist ein Feld (höhe und breite)
int fields = 8; // So viele Felder sind in einer Reihe/hat das Feld Reihen

bei dir bisschen komplizierte, da das nicht so quadratisch ist,

----------

das Grundmuster kannst du auch bei Hobbit abschauen,
abhängig von der Zeile ein boolean-Variable setzen, die alle paar Zeilen wechselt (modulo),
pro Zeile abhängig von der Spalte weitermachen,
am saubersten mit einer zweiten boolean-Variable
und dann beide auswerten,

ums einfacher zu machen vergiss nun die 24 Zeilen und versuche erstmal die erste Zeile,
modulo-Rechnen ist angesagt
 

The_S

Top Contributor
SlaterB hat gesagt.:
bei dir bisschen komplizierte, da das nicht so quadratisch ist

Hey, ich rechne in Zeichen ^^

Aber Slater hat schon recht. Erstmal die Basics lernen und dann weiterschauen ... immer Schritt für Schritt!
 

back4ever

Mitglied
Erstmals ein fettes Danke an euch beiden
und ich möchte mich im Vorhinein für meine Dummheit entschuldigen
es werden sicher noch viele totale N00b Fragen auftauchen

Ich werde mir heute alles nochmal genau durchlesen
soweit es die Zeit mit 2 Kindern erlaubt
hoffe euch bis spätesten am Abend ein Ergebniss liefern zu können

Vielen Dank
P.S: werde sicher ab und zu fragen^^
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 23
W Methoden java map ersatz für c++map Java Basics - Anfänger-Themen 2
M Erste Schritte Java Primzahltester Java Basics - Anfänger-Themen 4
A csv Reader für Java? Java Basics - Anfänger-Themen 27
K Java - Enums Java Basics - Anfänger-Themen 30
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
Rookar Mit Button andere java öffnen Java Basics - Anfänger-Themen 4
F Java Object to Hashmap ? Java Basics - Anfänger-Themen 6
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
R Input/Output Verwendung des Euro-Zeichens in Java Java Basics - Anfänger-Themen 7
I Push Nachrichten von JAVA EE App an Mobile App Java Basics - Anfänger-Themen 3
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
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
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben