Как проверить, не равна ли строка объекту или другому строковому значению в java?

Я пытался сделать часы, которые пользователь может установить. Я хотел, чтобы пользователю задавали вопросы, а он отвечал на них словами "да" или "нет". Я сделал это для вещей, которые не меняются с помощью этого кода, например, хочет ли пользователь отображать секунды или нет, но это не работает так же хорошо, когда я хочу, чтобы строка менялась, скажем, с AM на PM, когда часов больше 12. Вот что я использую:

    System.out.println("AM or PM?"); 
    Scanner TimeOfDayQ = new Scanner(System.in);
    TimeOfDayStringQ = TimeOfDayQ.next();

    if(!TimeOfDayStringQ.equals("AM") || !TimeOfDayStringQ.equals("PM")) {
        System.out.println("Sorry, incorrect input.");
        System.exit(1);
    }

    ...

    if(Hours == 13){
        if (TimeOfDayStringQ.equals("AM")) {
            TimeOfDayStringQ.equals("PM");
        } else {
            TimeOfDayStringQ.equals("AM");
        }
                Hours = 1;
        }
     }

Каждый раз, когда я ввожу что-либо, когда он спрашивает меня, ввожу ли я AM, PM или что-то другое, он выдает мне ошибку, которую я написал, а затем выходит. Когда я удаляю часть кода, которая завершает программу с ошибкой, она не изменяет строку с AM на PM, когда часы равны 13. Спасибо за помощь, она очень ценна.

20
задан Pillager225 16 October 2011 в 18:32
поделиться