package chapter5;
import java.util.Scanner;
public class Exercise5 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int min = 1;
int max = 10;
int one = (int) (Math.random() * (max - min)) + min;
int two = (int) (Math.random() * (max - min)) + min;
int num = (int) (4* Math.random()+1);
char operator = 0;
switch (num)
{
case 1: operator = '+';
break;
case 2: operator = '-';
break;
case 3: operator = '*';
break;
case 4: operator = '/';
break;
}
System.out.println("What is " + one + " " + operator + " " + two + "?");
double ans = 0;
double ans1 = 0;
ans = input.nextDouble();
if (num == 1) {
ans1 = one + two;
} else {
if (num == 2) {
ans1 = one - two;
} else {
if (num == 3) {
ans1 = one * two;
} else {
if (num == 4) {
ans1 = one/two;
}
}
}
if (ans == ans1) {
System.out.println("Correct!");
} else {
if (ans != ans1) {
System.out.println("incorrect");
}
}
}
}
}
質問を生成するアプリケーションを作成しようとしていて、入力が正しいか間違っているかを計算しています。正しいことですが、間違っているとアプリは終了します。数学教師プログラムが正しく表示されない
ヒント:適切に違い –
フォーマットあなたのコードを見て、 'ans'と' ans1'をプリントアウトしてみてください、あなたはその理由自分自身を見つけるでしょう。 – Codebender
elseのあとに 'if'を使用する必要はありません。たとえば、答えが正しいかどうかをチェックするセクションでは、 'else'ブロックの中に 'if(ans!= ans1)...'は必要ありません。まず、それらが等しいかどうかをチェックするので、 'else'キーワードは、それらが等しくない場合に自動的に条件を設定します。他のブロックの中の不要なif文を削除すれば、プログラム内の多くの冗長なコードを削除することができます。そうすれば、コードを読んだり歩いたりするのが簡単になります。 –