2016-05-11 9 views
-1

Я довольно новичок в программировании. Мне нужно, чтобы он сказал: «Введите букву q, чтобы выйти или любой другой ключ, чтобы продолжить:« в конце. Если вы введете q, оно прекратится. Если вы вводите любой другой символ, он предлагает ввести другое положительное целое число.Нужно закрыть java буквой 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(); 
     } 
    } 
} 
+0

петля в то время как с 'Строка q' проверки сделает вашу работу – Helios

ответ

0

ли это пользователь ввел письмо

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

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 
} 
0

Это выглядит как домашнее задание ;-)

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

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

Стивен, я попытался с помощью вашего решения, но это не позволит мне для использования q или любых других символов после цикла. –

0

использовать делать-то время как цикл в основной метод, как показано ниже

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

вы также хотите иметь попробовать прилов блок для обработки NumberFormatException

+0

Это работало очень хорошо. Теперь мне нужно только сказать: «Введите q, чтобы выйти или любой другой символ, чтобы продолжить:» Ниже таблицы –

+0

@ChrisM. прохладно, любезно согласиться с ответом –

 Смежные вопросы

  • Нет связанных вопросов^_^