2つのintを比較するプログラムを作成している場合、ユーザーが疲れて終了したいまでプログラムを実行します。そうするために、ユーザーはqを入力して終了します。ユーザーが入力した2つの文字と、「q」が割り当てられた2番目の文字を比較するwhileループを作成したいと思います。しかし、qと入力すると、プログラムがクラッシュします。それはなぜで、どうすれば修正できますか。
import java.io.IOException;
import java.util.Scanner;
public class numComp {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a, b;
char key = 'q';
System.out.println("enter 'q' to quit program and any other key to start it");
char btn = 0;
try {
btn = (char) System.in.read();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while (btn != key){
System.out.println("enter two numbers to compare them");
System.out.println("please enter first number:");
a = in.nextInt();
System.out.println("please enter second number:");
b = in.nextInt();
if (a==b)
System.out.println("the numbers you entered are the same");
else if (a>b)
System.out.println("your first number is greater then your second number by "+ (a-b));
else
System.out.println("your first number is smaller then your second number by "+ (b-a));
}
}
}