Проблемы с java: char

Нужно написать код, который запрашивает у пользователя ввести 5 разных char и в конце, если хотя бы один из введенных char это буква 'a' вывести True, если нет 'а' - False

Что у меня вышло:

public class Control{
    public static void main (String[]args){
        char y = 'a';
        for (int x = 0; x<5; x++){
        System.out.print("Insert......:");
        char n = SIn.readNonwhiteChar();
            if (n == y)
                System.out.println("True");
            else
                System.out.println("False");
            
        }
    }
}

Но, этот код работает немного не так как нужно, он выводит False/True после каждого char, а не после всех:

C:\Users\SNBPC\LabProg>java Control
Insert......:e
False
Insert......:r
False
Insert......:a
True
Insert......:w
False
Insert......:a
True

Если же сделать вот так:

public class Control{
    public static void main (String[]args){
        char y = 'a';
        for (int x = 0; x<5; x++){
        System.out.print("Insert......:");
        char n = SIn.readNonwhiteChar(); 
            }                                    //чтобы убрать if/else из цикла
            if (n == y)  
                System.out.println("True");
            else
                System.out.println("False");
    }
}

То выходит ошибка что невозможно найти n. И я не знаю как его продублировать опять.

C:\Users\SNBPC\LabProg>javac Control.java
Control.java:8: error: cannot find symbol
                    if (n == y)
                        ^
  symbol:   variable n
  location: class Control
1 error

Помогите.


Ответы (1 шт):

Автор решения: Вася Воронцов

Создадим переменную isA типа boolean вне метода main. Каждый новый ввод будем сравнивать значение введённого символа с данным (char y), если они равны, то isA станет равным true: false ИЛИ true = true, true ИЛИ true = true. После ввода проверим и выполним необходимые действия:

public class Control {

    static char y = 'a';
    static boolean isA = false;

    public static void main (String[]args) {
        for (int x = 0; x<5; x++) {
            char n = SIn.readNonwhiteChar();
            isA = isA || (n == y);
            System.out.print("Insert......:");
        }
        if (isA)
            System.out.println("True");
        else
            System.out.println("False");
    }
}
→ Ссылка