需要用字母q关闭java

时间:2016-05-11 03:51:49

标签: java exit halt

我对编程很陌生。我需要它在最后说“输入字母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 个答案:

答案 0 :(得分:0)

这样做是为了让用户输入一个字母

的信息:
System.exit(0)退出程序,没有错误代码。
nextLine()等待用户输入字符串并按Enter键。
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
}

答案 1 :(得分:0)

这看起来像家庭作业; - )

解决此问题的一种方法是将您的代码打印出来并在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();
}

答案 2 :(得分:0)

在主方法中使用 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