Code:
public class Matrix {
public static void main(String args[]) throws IOException{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Zeilen:");
int zeilen=Integer.parseInt(input.readLine());
System.out.println("Spalten:");
int spalten=Integer.parseInt(input.readLine());
System.out.println("zu vermeidende Zahl:");
int zahl=Integer.parseInt(input.readLine());
int summe=spalten*zeilen;
int pos=1;
String summe2=String.valueOf(summe);
int y=0;
for(int a=1; a<=summe; a++) {
String string=String.valueOf(a);
String output=string;
while(y<string.length()) {
if((string.charAt(y)==zahl) (a%zahl==0)) {
output="*";
y=string.length();
} else {
y++;
}
}
int abstand=summe2.length()-string.length();
if(pos==spalten) {
System.out.println(output);
pos=1;
} else {
System.out.print(output);
for(int i=1; i<= abstand; i++) {
System.out.print(" ");
}
pos++;
}
}
}
Das ganze soll eine Matrix erstellen, das funktioniert soweit, jedoch will ich nun einzelne Werte durch "*" ersetzen (s. while-schleife), und so mittels der Eingabe das Aussehen der Matrix ändern. Das funktiert aber immer nur ein einziges mal, alle anderen, zutreffenden Werte werden ignoriert... warum? Wo liegt der Fehler?