Что касается квадратичных уравнений (подробнее здесь: http://www.mathsisfun.com/algebra/quadratic-equation.html). Я взял в качестве входных данных a, b и c уравнения.Расчет коэффициентов квадратичных уравнений
Образец уравнения будет таким: 21x^2 - 8x - 4 Здесь a = 21, b = -8, c = -4. Итак, при решении (без формулы) => 21x^2 - 14x + 6x - 4 = 0.
Мне нужны два средних числа, то есть в этом случае 14 и 6 (коэффициенты считывания). Я думаю, что я сделал все правильно, но вход кажется бесконечным и не останавливается вообще. Вы можете исправить ошибку? Мне также интересно узнать, почему это произошло.
import java.util.Scanner;
public class QuadFact {
static Scanner sc = new Scanner(System.in);
static int a,b,c;
static int P, diff, p;
static int i;
static boolean found = false;
void accept(){
System.out.println("Enter the a, b, c");
a = sc.nextInt(); b = sc.nextInt(); c = sc.nextInt();
}
void compute(){
P = a * c;
diff = 0;
while(!found){
for (i = b + 1;;i++){
diff = i - b;
p = i * diff;
if (p==P) {
found = true;
break;
}
}
}
}
void display(){
System.out.print("These are the raw numbers, should be correct.
Still,\n it is advisable you verify it.");
System.out.println("One factor: " + i);
System.out.println("Other factor: " + diff);
}
public static void main(String[] args){
QuadFact a = new QuadFact();
a.accept();
a.compute();
a.display();
}
}
Попробуйте ввести здесь свой код здесь. Мы можем помочь вам отформатировать его. Ссылки могут быть мертвыми, и некоторые из нас с брандмауэрами (например, я) не могут даже попасть к вашей ссылке. –
Хорошо, что происходит, когда вы пытаетесь отладить это с помощью отладчика или если это не так, когда вы используете инструкции println, чтобы узнать, что делает ваш код в критических точках? –
У вас сбиты ваши симптомы. В вашем примере номера, которые вы хотите, - 14 и 6, а не 14 и 6. Вы должны искать два числа с продуктом P и суммой b, тогда как вы, похоже, ищете номера с продуктом P и разностью b. –