Замените конкретный символ другим
Я создаю матрицу с нечетным размером(3) и читаю только три конкретных символа..
[A][S][A]
[ЛЯ]
[O][A][O]
тогда мне нужно сделать все это только с "А", как я могу это сделать ?
[A][A][A] [A][A][A] [A][A][A]
Что я уже пробовал:
import java.util.Scanner; public class matr { public static void main(String[] args) { int NUM = 0; boolean odd = false; Scanner xx = new Scanner(System.in); while(!odd) { System.out.print("Size of matrix: "); NUM = xx.nextInt(); if (NUM%2!=0) odd = true; else System.out.println("Plese Enter an Odd Number"); } char[][] matrix = new char[NUM][NUM]; int s, a; for(s=0; s<NUM; s++) { for(a=0; a<NUM; a++) { System.out.print("Insert character For ["+ s +"]["+ a + "]:"); matrix[s][a] = xx.next().charAt(0);; } } System.out.println(" "); System.out.println("The matrix elements:"); for(s=0; s<NUM; s++) { for(a=0;a<NUM;a++) { System.out.print("[" + matrix[s][a] + "]"); if(a==NUM-1){ System.out.println(); }}} int count = 0; System.out.println(" "); System.out.println("Replace S,O with A :"); for (s = 0; s < NUM; s++) { for (a = 0; a < NUM; a++) { if (s == 0) { System.out.print("[" + matrix[s][a] + "] "); count++; } else if (s == NUM - 1){ System.out.print("[" + matrix[s][a] + "] "); count++; } else if (a == 0){ System.out.print("[" + matrix[s][a] + "] "); count++; } else if (a == NUM - 1){ System.out.print("[" + matrix[s][a] + "] "); count++; } else System.out.print("[ ]"); } System.out.println(""); } double[] B = new double[count]; int x = 0; for (s = 0; s < NUM; s++) { for (a = 0; a< NUM; a++) { if (s == 0) { B[x] = matrix[s][a]; x++; } else if (s == NUM - 1){ B[x] = matrix[s][a]; x++; } else if (a == 0){ B[x] = matrix[s][a]; x++; } else if (a == NUM - 1){ B[x] = matrix[s][a]; x++; } } System.out.println(""); } }}
Richard MacCutchan
Ваш код кажется слишком сложным. Кроме того, я не могу понять, почему вы используете двойные типы для массива B.
Замена S или O на A должна быть простым делом блока if/else.