Во-первых, ваш код не будет компилироваться - у вас есть дополнительный }
после начала public static double quadraticEquationRoot1(int a, int b, int c)()
.
Во-вторых, вы не ищете правильные типы ввода. Если вы хотите ввести тип double
, убедитесь, что вы объявили метод соответствующим образом. Также будьте осторожны с объявлением вещей как int
, когда они могут быть удвоены (например, root1
и root2
).
В-третьих, я не знаю, почему у вас есть блок if/else
- было бы лучше просто пропустить его и использовать только код, который сейчас находится в части else
.
И, наконец, для решения вашего первоначального вопроса: просто создайте отдельный метод и используйте Math.min()
вместо Math.max()
.
Итак, повторим в коде:
public static void main(string args[]){
}
//Note that the inputs are now declared as doubles.
public static double quadraticEquationRoot1(double a, double b, double c)(){
double root1, root2; //This is now a double, too.
root1 = (-b + Math.sqrt(Math.pow(b, 2) - 4*a*c))/(2*a);
root2 = (-b - Math.sqrt(Math.pow(b, 2) - 4*a*c))/(2*a);
return Math.max(root1, root2);
}
public static double quadraticEquationRoot2(double a, double b, double c)(){
//Basically the same as the other method, but use Math.min() instead!
}
Почему вернуть максимум корней? Почему не массив, содержащий оба корня? – ncmathsadist
http://www.hubberspot.com/2012/05/how-to-solve-simple-quadratic-equation.html –