В настоящее время я модифицирую предыдущую программу Java, которая вычисляет математические задачи типа квадратичной формулы, разбивая части моего кода на методы и вызывая эти методы для выполнения той же задачи. В настоящее время я застрял в создании метода вычисления дискриминанта в числителе. Как назначено, у меня должен быть один метод, который получает пользовательский ввод для значений a, b и c, но я не уверен, как получить эти значения из одного метода в следующий, который должен использовать эти значения в расчеты.
Мой инструктор хочет, чтобы мы вводили переменные a b и c в массив, и я знаю, что сейчас это довольно ручной способ помещения значений в массив, но он все еще должен работать для этой цели.
Вот что у меня есть на данный момент, и спасибо за чтение.
EDIT: я снова начал с нуля, я не могу понять, как правильно вернуть информацию из моих методов, чтобы следующий мог ее использовать. Я продолжаю получать аргумент метода, не применимый к ошибкам. Любые идеи?
import java.util.*;
public class QuadraticMethods {
public static void main(String[] args){
getValues();
calcDisc(userInput);
}
public static double[] getValues() {
double[] userInput;
userInput = new double[3];
Scanner kbd = new Scanner(System.in);
System.out.println("Fourth Assignment by MyNameHere");
System.out.println("Welcome to the quadratic formula computation tool.");
System.out.println("This tool will solve problems in the form of: a^x + bx + c.");
System.out.println("Please enter the values you would like for a, b, and c.");
for (int i = 0; i < userInput.length; i++) {
userInput[i] = kbd.nextDouble(); }
double aValue = userInput[0];
double bValue = userInput[1];
double cValue = userInput[2];
/*
System.out.println(aValue);
System.out.println(bValue);
System.out.println(cValue);
*/
return userInput;
}
public static double calcDisc(double[] userInput) {
double aValue = userInput[0];
double bValue = userInput[1];
double cValue = userInput[2];
double radicalValue = (Math.pow(bValue, 2) - (4*aValue*cValue));
System.out.println(radicalValue);
return radicalValue;
}
}
getValues
в main, он возвращаетdouble[]
. Вам нужно зафиксировать возвращаемое значение, используяdouble[] userInput = getValues();
. Затем передайте его в качестве входного аргумента вcalcDisc()
. Вам нужно изменить сигнатуру методаcalcDisc
наcalcDisc(double[] userInput)
. - person DavidS   schedule 10.02.2015getValues
возвращает значение, необходимоеcalcDisc
для выполнения своей работы. Таким образом, вы фиксируете возвращаемое значениеgetValues
и используете его в качестве входных данных дляcalcDisc
. Тем не менее, вы, вероятно, также захотите зафиксировать возвращаемое значениеcalcDisc
и распечатать результаты или что-то в этом роде. - person DavidS   schedule 10.02.2015calcDisc
скомпилируется. В сигнатуре метода сказано, что он возвращаетdouble
, но вы никогда не вызываетеreturn
в теле метода. - person DavidS   schedule 10.02.2015