Zweidimensionale Arrays in Java - Java Programmieren Lernen - 26

preview_player
Показать описание
Mehrdimensionale Arrays in Java - eine unglaublich effektive Möglichkeit, Spielflächen, Tabellen und Bildschirmpixel darzustellen.

👇🏻Lerne Java in einer Playlist:
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
⭐ Abonniere den Kanal für weitere Videos:
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
❤️ Als Community gemeinsam Java lernen (Discord-Channel):

Durch mehrdimensionale Arrays kannst du dir in beliebig vielen Dimensionen Arrays speichern und diese anschließend durch for-Schleifen befüllen.

Zweidimensionale Arrays können für den Anfang kompliziert erscheinen... aber ganz sicher wirst du es trotzdem verstehen! :) Wenn du neben dem #Tutorial mit mir mitmachst, Gratulation! Dann wirst du Zweidimensionale Arrays wirklich verinnerlichen!

Ich hoffe du hast Spaß an diesem 2D-Array-Tutorial! Lass mich in den Kommentaren wissen ob dir dieses Video geholfen hat, Zwei-, bzw. mehrdimensionale Arrays besser zu verstehen!

🎶Musik aus dem Video:
"Dawn" by Sappheiros

▬🚀Playlists für dich ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Lerne JAVA von Grund auf in EINER Playlist (Java Masterclass):

Werde vom BEGINNER zum FORTGESCHRITTENEN:

Werde vom FORTGESCHRITTENEN zum EXPERTEN:

▬Timestamps ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
0:00 Einleitung
0:11 1D-Arrays vs. 2D-Arrays
2:29 Mehrdimensionale Arrays;
2:54 Dreieckige Arrays
4:11 2D-Arrays initialisieren und auslesen
5:57 Praxisbeispiel: Kleines 1x1 Tabelle
7:43 TicTacToe in Java
8:00 Schluss

▬✨Über diesen Kanal✨ ▬▬▬▬▬▬▬▬▬▬▬

Du bist Student oder Schüler und hast das Ziel ein professioneller Java Entwickler zu werden, weißt aber nicht wo du anfangen sollst? Dann bist du auf diesem Kanal genau richtig!

Mein Ziel für dich ist es dass du Java auf schlüssige Art und Weise und ohne Frust lernen kannst. Dafür habe ich dir einen logischen und kompakten Leitfaden konzipiert, an den du dich halten kannst, um dich mit Leichtigkeit zu einem sehr guten Programmierer zu entwickeln.

Ich weiß, dass das ein großes Versprechen ist. Deshalb werde ich Tag für Tag mein Bestes geben, um diesem gerecht zu werden. Wenn du diesen Kanal unterstützen und dabei Java lernen willst, dann lass ein Abo da.

Jonas Keil❤

▬🛠Mein Equipment🛠▬▬▬▬▬▬▬▬▬▬▬▬▬

▬📚Literatur (empfehlenswert)📚 ▬▬▬▬▬▬▬

▬✔Software✔▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

*Unterstütze kostenlos meinen Kanal, indem du über diese Links bei Amazon bestellst! (Affiliate-Links)

#Programmieren

Bei Fragen oder Feedback schreib mir!
Рекомендации по теме
Комментарии
Автор

🚀Java in einer Playlist lernen (Beginner bis Profi):

JonasKeil
Автор

Ich habe gestern schon ein video von dir kommentiert :D

Dieses Thema muss ich mir noch näher bringen war etwas schnell für meinen Geschmack und das mit dem Dreieckigen Array hat mich komplett aus der Bahn geworfen :D aber sonst gutes Video :)

hxxtt
Автор

Gutes Video, wenn ich auch nach wie vor Probleme mit dem Dreieck habe.
Dafür habe ich mich mal an TicTacToe versucht und folgendes programmiert (objektorientiert, zum Ausführen muss Methode spieltictactoe in main aufgerufen werden). Es lässt sich jedenfalls spielen ;):

import java.util.Scanner;

public class TicTacToe {
String[][] spielfeld = new String[3][3];
int counter = 0;
int spielfelder = 0;
boolean belegt = false;
boolean gueltig = false;
int runde = 0;
String rundenwert;

Scanner scan = new Scanner(System.in);

public void spieltictactoe(){
System.out.println("Das ist TicTacToe. Du kannst die Felder A1 oben links bis B3 unten rechts besetzen. X beginnt. Bitte gib dein Feld mit A1/A2... an.");


for (int i = 0; i < spielfeld.length; i++) {
for (int i1 = 0; i1 < spielfeld.length; i1++) {
if (spielfeld[i][i1] == null){
System.out.print(" . ");
} else {
+ "\t");
}
}
System.out.println();
}

while (spielfeld[0][0] == null || spielfeld[0][1] == null || spielfeld[0][2] == null || spielfeld[1][0] == null || spielfeld[1][1] == null || spielfeld[1][2] == null || spielfeld[2][0] == null || spielfeld[2][1] == null || spielfeld[2][2] == null) {

if(spielfelder < 9) {

if (counter == 0) {
if (runde == 0) {
System.out.println("X ist an der reihe!");
rundenwert = " X ";
} else {
System.out.println("O ist an der reihe!");
rundenwert = " O ";
}
String xin = scan.next();
if (xin.equals("A1")) {
if (spielfeld[0][0] == null) {
spielfeld[0][0] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
} else if (xin.equals("A2")) {
if (spielfeld[0][1] == null) {
spielfeld[0][1] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
} else if (xin.equals("A3")) {
if (spielfeld[0][2] == null) {
spielfeld[0][2] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
} else if (xin.equals("B1")) {
if (spielfeld[1][0] == null) {
spielfeld[1][0] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
} else if (xin.equals("B2")) {
if (spielfeld[1][1] == null) {
spielfeld[1][1] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
} else if (xin.equals("B3")) {
if (spielfeld[1][2] == null) {
spielfeld[1][2] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
} else if (xin.equals("C1")) {
if (spielfeld[2][0] == null) {
spielfeld[2][0] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
} else if (xin.equals("C2")) {
if (spielfeld[2][1] == null) {
spielfeld[2][1] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
} else if (xin.equals("C3")) {
if (spielfeld[2][2] == null) {
spielfeld[2][2] = rundenwert;
gueltig = true;
} else {
belegt = true;
}
}
if (belegt == true) {
System.out.println("Feld ist bereits belegt, bitte wähle ein anderes aus!");
belegt = false;
} else if (gueltig == true) {
spielfelder++;
runde++;
if (runde == 2) {
runde = 0;
}
}
gueltig = false;
for (int i = 0; i < spielfeld.length; i++) {
for (int i1 = 0; i1 < spielfeld.length; i1++) {
if (spielfeld[i][i1] == null) {
System.out.print(" . ");
} else {
+ "\t");
}
}
System.out.println();
}
counter = 1;
} else {
counter = 0;
}

if (spielfeld[0][0] == spielfeld[0][1] && spielfeld[0][1] == spielfeld[0][2] && spielfeld[0][1] != null) {
+ "hat gewonnen!");
break;
} else if (spielfeld[1][0] == spielfeld[1][1] && spielfeld[1][1] == spielfeld[1][2] && spielfeld[1][1] != null) {
+ "hat gewonnen!");
break;
} else if (spielfeld[2][0] == spielfeld[2][1] && spielfeld[2][1] == spielfeld[2][2] && spielfeld[2][1] != null) {
+ "hat gewonnen!");
break;
} else if (spielfeld[0][0] == spielfeld[1][0] && spielfeld[1][0] == spielfeld[2][0] && spielfeld[2][0] != null) {
+ "hat gewonnen!");
break;
} else if (spielfeld[0][1] == spielfeld[1][1] && spielfeld[1][1] == spielfeld[2][1] && spielfeld[0][1] != null) {
+ "hat gewonnen!");
break;
} else if (spielfeld[0][2] == spielfeld[1][2] && spielfeld[1][2] == spielfeld[2][2] && spielfeld[1][2] != null) {
+ "hat gewonnen!");
break;
} else if (spielfeld[0][0] == spielfeld[1][1] && spielfeld[1][1] == spielfeld[2][2] && spielfeld[2][2] != null) {
+ "hat gewonnen!");
break;
} else if (spielfeld[0][2] == spielfeld[1][1] && spielfeld[1][1] == spielfeld[2][0] && spielfeld[2][0] != null) {
+ "hat gewonnen!");
break;
}
}
}
Keiner hat gewonnen! Bitte Neustarten!");
}
}

paddysusi
Автор

Ich hab Deine sehr hilfreiche Playlist nun durchgemacht und verstanden. Gibt es ein geeignetes Übungsprogramm, das mir hilf das Erlernte zu üben und festigen?

jakoblorenz
Автор

Sag mal wie kann ich die zeilensumme und spaltensumme vom array berechnen und ausgeben komme drauf nicht hilfe danke

medinecevik
Автор

super gemacht, allerdings wie du auf Array 2D zugreift mit schleifen. wird nicht funktionieren, wenn du ein Array mit 5*10 hast oder 10*5. Deswegen musst du folgendes machen
String [][] eins_mal_eins = new String [10][10];
for (int i = 0; i < eins_mal_eins.length; i++) {
for (int j = 0; j < eins_mal_eins[i].length; j++) {

dsdasad
Автор

Müssten die Wochentage nicht in den Zeilen stehen und der rest in den Spalten?

ladonveron
Автор

Tolles Video. Wie könnte man davon sie Zeilen/Spaltensumme berechnen, dass er mir es wie folgt ausgibt.
Zeilennummer:
1. 55
2. 80
…..

Spaltensumme:
1. 200
2.
…..

(die Ergebnisse sind natürlich nicht richtig:))

Danke im Voraus

Crgoat
Автор

wäre es nicht einfacher, dem Index 11 zu übergeben, um 10 Elemente im Index zur Verfügung zu haben? Danke - top Video :)

lme
Автор

Da sich noch niemand getraut hat hier mein Versuch von Tic-Tac-Toe. Es ist nicht Perfekt es fehlt die Abfrage nach der Doppelbelegung von Spielfeldern und was passiert wenn man außerhalb des Spielfeldes platziert aber es ist ein Anfang.

import java.util.Scanner;

public class TicTacToe {
public static void main(String[] args) {
String A0 = "empty";
String A1 = "empty";
String A2 = "empty";
String B0 = "empty";
String B1 = "empty";
String B2 = "empty";
String C0 = "empty";
String C1 = "empty";
String C2 = "empty";
int counter = 0;
String[][] spielfeld = new String[3][3];
System.out.println("Lass uns TIC-TAC-TOE spielen" + "\n" + "Du kannst in die Felder A0(oben links) bis C3 (unten rechts setzen)" + "\n" + "Es beginnt X dann ist O an der Reihe"
+ "\n" + "Wer 3 Symbole in einer Reihe Horizontal, Diagonal oder Vertikal hat, hat gewonnen!" + "\n" + "X beginnt! Bitte gib dein Feld mit A0, A1, A2, B0 usw an!");
for (int i = 0; i < spielfeld.length; i++) {
for (int i1 = 0; i1 < spielfeld.length; i1++) {
spielfeld[i][i1] = " . ";
}
}
for (int i = 0; i < spielfeld.length; i++) {
for (int i1 = 0; i1 < spielfeld.length; i1++) {
System.out.print(spielfeld
[i][i1] + "\t" + "\t");
}
System.out.println();
System.out.println();
}
while (A0.contains("empty") || A1.contains("empty") || A2.contains("Empty") || B0.contains("Empty") || B1.contains("empty") || B2.contains("empty") || C0.contains("empty")
|| C1.contains("empty") || C2.contains("empty")) {

counter++;

Scanner scannerx = new Scanner(System.in);
if (counter % 2 != 0) {

System.out.println("X ist an der reihe!");
String xin = scannerx.next();
xin.toUpperCase();
if (xin.equals("A0")) {
A0 = "X";
spielfeld[0][0] = " X ";

for (int i = 0; i < spielfeld.length; i++) {
for (int i1 = 0; i1 < spielfeld.length; i1++) {
System.out.print(spielfeld
[i][i1] + "\t" + "\t");
}
System.out.println();
System.out.println();
}

}
if (xin.equals("A1")) {
A1 = "X";
spielfeld[0][1] = " X ";
for (int i = 0; i < spielfeld.length; i++) {
for (int i1 = 0; i1 < spielfeld.length; i1++) {
System.out.print(spielfeld
[i][i1] + "\t" + "\t");
}
System.out.println();
System.out.println();
}
}

vegetager
join shbcf.ru