Нужно закрыть Java с буквой Q

Я довольно новичок в программировании. Мне нужно сказать "введите букву q для выхода или любую другую клавишу для продолжения: " в конце. Если вы введете q, он завершится. Если вы введете любой другой символ, он предложит вам ввести другое положительное целое число.

import java.util.Scanner;

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


       System.out.println("Enter a postive integer: ");
       int tableSize = input.nextInt();
       printMultiplicationTable(tableSize);

    }
    public static void printMultiplicationTable(int tableSize) {
        System.out.format("      ");
        for(int i = 1; i<=tableSize;i++ ) {
            System.out.format("%4d",i);
        }
        System.out.println();
        System.out.println("------------------------------------------------");

        for(int i = 1 ;i<=tableSize;i++) {
            System.out.format("%4d |",i);
            for(int j=1;j<=tableSize;j++) {
                System.out.format("%4d",i*j);
            }
            System.out.println();
        }
    }
}

3 ответа

Это похоже на домашнюю работу;-)

Одним из способов решения этой проблемы является размещение вашего кода, который печатает ваши сообщения и принимает ваш ввод, в цикле while, может быть, что-то вроде:

Scanner input = new Scanner(System.in);
byte nextByte = 0x00;
while(nextByte != 'q') 
{     
    System.out.println("Enter a postive integer: ");
    int tableSize = input.nextInt();
    printMultiplicationTable(tableSize);
    System.out.println("Enter q to quit, or any other key to continue... ");
    nextByte = input.nextByte();
}

Используйте цикл do- while в вашем основном методе, как показано ниже

do {
        System.out.println("Enter a postive integer: ");
        String tableSize = input.next();

        if (!"q".equals(tableSize) )
            printMultiplicationTable(Integer.parseInt(tableSize));

    }while (!"q".equals(input.next()));
    input.close();

Вы также хотели бы иметь блок try-catch для обработки numberFormatException

Сделайте это, чтобы пользователь ввел письмо

Информация:
System.exit (0) выходит из программы без кода ошибки.
nextLine () ждет, когда пользователь введет строку и нажмет ввод.
nextInt () ждет, пока пользователь введет int и нажмет ввод.
Надеюсь это поможет!

Scanner input = new Scanner(System.in);
String i = input.nextLine();
if(i.equalsIgnoreCase("q")) {
    System.exit(0);
}else {
    System.out.println("Enter a postive integer: ");
    int i = input.nextInt();
    //continue with your code here
}
Другие вопросы по тегам