Я делаю викторину алгебры в Java, и я хочу проверить, отвечают ли пользователи, как ответ уравнения алгебры. Это то, что у меня уже есть, проверка на дно. Первый оператор if проверяет, является ли второе число положительным или отрицательным и вычисляет его. А второй оператор if пытается выяснить, совпадает ли ответ пользователя с ответом на вопрос. Проблема заключается в том, что Int ответ не может быть передан другому оператору if. Есть ли способ обойти это? Он использует алгебраическое уравнение следующим образом: 1x + 2 = 5.Как проверить, отвечает ли пользователь так же, как Алгебра Ответ В Викторине?
int numRight = 0;
Scanner input = new Scanner(System.in);
System.out.println("Welcome to your algebra test!");
System.out.println("What is your name?");
String name = input.nextLine();
System.out.println("Ok, " + name + ", how many questions do you want on your test?");
int numQuestions = input.nextInt();
for(int x = 0; x <= numQuestions; x++){
int coefficient = 7;
int num1 = 3;
int num2 = 23;
while((num2 - num1) % coefficient != 0){
coefficient = (int) (Math.random()*8)+2;
num1 = (int) (Math.random()*19)-9;
num2 = (int) (Math.random()*90)+10;
}
if(num1 > 0){
int part1pos = num2 - num1;
int answer = (coefficient/part1pos);
} else if(num1 < 0){
int part1neg = num1 + num2;
int answer = (coefficient/part1neg);
}
System.out.println(coefficient + "x + " + num1 + " = " + num2);
int userAnswer = input.nextInt();
if(userAnswer == answer){
System.out.println("The Answer is correct!");
numRight++;
} else{
System.out.println("The answer is wrong!");
}
}
Заявить ответ * вне * 'if'? – immibis
Проблема в том, что ваш расчет неверен. 3x + 5 = 11 (11-5)/3 = x, но вы делаете 3/(11-5) –