Hallo ich weiss nicht, warum es bei folgendes Programm, was ein Spiel darstellen soll fehler meldung gibt.
Das Spiel ist nicht ganz zu programmieren, es ist also kein Vollständiges Spiel aber es geht dadrum zwei Methoden zu schreiben mit denen Man Karten eines Memory Spiels austeilt und
n*m Spielfeld wird zufällig ausgefüllt und das spielfeld wird gezeigt ich gib euch das Code dann versteht ihr vielleicht besser was ich meine
Es gibt einen Einzigen Fehler beim Compilieren:
java:7: cannot find symbol
symbol : method charAt(int)
location: class String
Out.println(string.charAt(6));
^
Also ich würde wissen wie dieses Fehler umgehen kann oder was ich falsch im Prog habe.
Das Spiel ist nicht ganz zu programmieren, es ist also kein Vollständiges Spiel aber es geht dadrum zwei Methoden zu schreiben mit denen Man Karten eines Memory Spiels austeilt und
n*m Spielfeld wird zufällig ausgefüllt und das spielfeld wird gezeigt ich gib euch das Code dann versteht ihr vielleicht besser was ich meine
Code:
class BuildMemory {
public static void main(String[] args) {
Out.print("Bitte Hoehe des Spielfeldes eingeben: ");
int n = In.readInt();
Out.print("Bitte Breite des Spielfeldes eingeben: ");
int m = In.readInt();
int[][] field = new int[n][m];
fillField(field);
showField(field);
}
static void fillField(int[][] field) {
// verwendet den im Aufgabenblatt beschriebenen Algorithmus
int n = field.length;
int m = field[0].length;
int noDigits = (n * m) / 2; // noDigits ist der Anzahl der benötigten Ziffern
int[] availableDigits = new int[noDigits];
for (int i = 0; i < noDigits; ++i) {
availableDigits[i] = 2; // anlegen eines eindimensionalen Arrays wo jedes Ziffer 2 mal vorkommt
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
int random;
do {
random = (int) (Math.random() * noDigits);
} while (availableDigits[random] == 0);
// Jetzt ist die Ziffer random noch verfuegbar.
--availableDigits[random];
field[i][j] = random;
}
}
}
static void showField(int[][] field) {
Out.println("Inhalt des Spielfeldes: ");
for (int i = 0; i < field.length; ++i) {
for (int j = 0; j < field[0].length; ++j) {
Out.print(field[i][j] + " ");
}
Out.println();
}
}
}
Es gibt einen Einzigen Fehler beim Compilieren:
java:7: cannot find symbol
symbol : method charAt(int)
location: class String
Out.println(string.charAt(6));
^
Also ich würde wissen wie dieses Fehler umgehen kann oder was ich falsch im Prog habe.