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