Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
hallo ich habe ein Problem!
Ich möchte aus einer datei mit 81 zahlen ein 9x9 array einlesen und anschließend wieder ausgeben aber ich glaube, dass die Zahlen zwar nacheinander eingelesen werden, aber im Array nicht veitergerückt wird. Wo liegt denn der fehler genau???
Hier folgt mein bisheriges Programm
Code:
public class readboardarray{
public static void main (String[] args) {
final int maxLen = 9; // Maximale Laenge des Textes
char ch;
int a=0;
int[][] matrix = new int[maxLen][maxLen]; // Das Array fuer die Zeichen
Write.Line("Bitte den zu ueberpruefendes matrix eingeben: ");
while (Urc.readChar()) {
ch = Urc.getChar();
if (ch == '\n')
break;
for(int i=0; i<maxLen;i++){
//in jeder Zeile
for (int j=0; j<maxLen;j++){ //in jeder Spalte
matrix[i][j]=ch;
}
while( a<81){
for(int i=0; i<maxLen;i++){
for (int j=0; j<maxLen;j++){ //in jeder Spalte
System.out.print(matrix[i][j]-48);
if (j==8) System.out.println();
}
}a++;
}
}
}
Also für mich ist der Code sehr verwirrend, muss ich mal sagen.
Und wenn schon deutsch, dann aber auch korrekt: "Bitte DIE zu ÜBERPRÜFENDE Matrix eingeben".
Außerdem funktioniert dein Code nicht, weil du die for-Klammer beim Einlesen nicht geschlossen hast.
Du liest in der Schleife immer einen einzigen Buchstaben ein und beschreibst das Array damit. Und am Ende gibst du alles mit einer komischen Bedingung wieder.
Kannst du nicht einfach den Code aus dem Editor kopieren und einfügen, denn ich glaube nicht, dass der vorliegende das erfüllt, was du beschreibst.
Wenn schon, denn schon:
Code:
for (int i=0; i<maxLen; i++)
for (int j=0; j<maxLen; j++) {
Urc.readChar();
matrix[i][j] = Urc.getChar(); // whrschnlch "cannot convert from char to int"
}
}
Hallo!
Danke mal für deine Hilfe!
Ich glaube, dass ich die Matrix nun einlesen kann. Allerdings hab ich ja jeweils nur den ASCII-Wert eingelesen.
Wie kann ich die Werte wenn ich die Matrix nun wieder ausgeben möchte wieder als "echte"Zahlen darstellen. Ich habe bereits versucht einfach jedes mal 48 abzuziehen, denn genau um diesen Wertz stimmt es nicht. Aber dies führt nur bei der ersten Zahl zu einer richtigen Ausgabe.
Gibt es da einen "schöneren Weg???"