swawaw Ответов: 1

Замените конкретный символ другим


Я создаю матрицу с нечетным размером(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.

1 Ответов

Рейтинг:
1

Patrice T

Совет: Научитесь правильно делать отступы в вашем коде, это покажет его структуру и поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.

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("");
        }
    }
}

Стиль отступа - Википедия[^]

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]