Как выбрать и написать цикл для этой конкретной задачи? - PullRequest
0 голосов
/ 25 сентября 2019

Я довольно новичок в Java.Извините, если это хромой вопрос.У меня есть этот кусок кода.Это не все, очевидно.

    char option = scan.next().charAt(0); 

    for (option !='a'||option !='b'||option !='c'||option !='d'||option !='e'||option !='f'||option !='q') {
        System.out.println("Please pick an option from the menu above");
    }

    int lengthOne = stringOne.length(); //Getting the lengths for each string           
    int lengthTwo = stringTwo.length();

    if (option == 'a'|| option == 'A') { //If the user inputs a
        if (lengthOne == lengthTwo) { //If both lengths are equal
            System.out.println("The strings are the same length");
        }

Моя цель - иметь варианты аф.Я все это выяснил.Однако вначале я хочу выполнить команду, которая гласит: «Если пользователь не вводит символ, который находится в меню, выведите пользователю« пожалуйста, введите верную опцию »».Затем попросите его вернуться к команде до того, как он попросит отыскать символ.Я также хочу, чтобы это происходило бесконечное количество раз.

У меня проблемы с пониманием, какой цикл использовать, и как это сделать.Кто-нибудь может подсказать, что мне следует использовать и как это использовать?Спасибо:)

Ответы [ 3 ]

0 голосов
/ 25 сентября 2019

Попробуйте это

    Scanner scan = new Scanner(System.in);
    char option = scan.next().charAt(0); 

    while (option != 'a' && option !='b' && option != 'c'&& option !='d'&& option !='e'&& option !='f'&& option !='q') {
        System.out.println("Please pick an option from the menu above");
        option = scan.next().charAt(0);
    }

Вам понадобятся AND вместо OR, иначе он не будет работать

0 голосов
/ 25 сентября 2019

Цикл while может показаться грязным из-за того, что вы пытаетесь выполнить.Я бы использовал оператор Switch внутри цикла «do while».

Если пользовательский ввод не совпадает с «case», то он перейдет к значению по умолчанию.

Когда пользователь вводит«q» для выхода, затем boolean validSelection превращается в true, и вы выйдете из цикла «do while».

    public static void main( String[] args )
{
    Scanner scan = new Scanner( System.in );

    boolean validSelection = false;

    do
    {
        System.out.println( "Please pick an option from the menu above" );
        char option = scan.next().charAt( 0 );
        switch( option )
        {
            case 'a':
                break;
            case 'b':
                break;
            case 'c':
                break;
            case 'd':
                break;
            case 'e':
                break;
            case 'f':
                break;
            case 'q':
                validSelection = true;
                break;
            default:
                System.out.println( "Choice invalid." );
                break;
        }
    }
    while( validSelection == false );
}
}
0 голосов
/ 25 сентября 2019

Добавить скан внутри цикла.

char option = scan.next().charAt(0); 

while (option !='a'||option !='b'||option !='c'||option !='d'||option !='e'||option !='f'||option !='q') {
    System.out.println("Please pick an option from the menu above");
    option = scan.next().charAt(0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...