- Позвольте пользователю ввести два целых числа a и b. Имеют два метода, называемых суммой и продуктом, и когда они используются с входами a и b, они возвращают свою сумму и продукт.
- И еще одна часть, которая позволяет пользователю вводить 3 действительных числа a b и c. Используйте метод Discriminant (с вводом a (! = 0), b, c), чтобы вернуть значение D = b^2-4ac. Если а = 0, дискриминант и корни не существуют. Программа должна вывести следующее:
- Вы ввели = ..., Ь = ..., C = ...
- квадратное уравнение ахх + Ьх + с = 0
- дискриминант является D = ... {D вычисляется по формуле D = в * в-4 * A * C}
Внутри основного тела программы, с помощью условных операторов проверьте следующее:Методы на Java с/без возврата пользовательского ввода, простые, но новые для программирования
- , если D является положительным вызвать метод TwoRoots вернуть два значения из корней
Выход из корней являются x1 = -b + Кв D/2a и x1 = -b-Sqr D/2a
- если D отрицательный выхода нет реальных корней
я сделал первую часть, но она не работает. Это мой первый раз, используя методы, и это немного запутывает, я знаю, как их использовать без ввода пользователем. Но для этого мне нужен пользовательский ввод. Это коды, которые я пробовал: первый код - это метод с возвратом, а второй код - метод без возврата.
class quadratics1 {
int a,b;
String input1=JOptionPane.showInputDialog("Please enter an integer");
a=Integer.parseInt(input1);
String input2=JOptionPane.showInputDialog("Please enter another integer");
b=Integer.parseInt(input2);
int sum1(int L, int W){
int sum=(L+W);
return sum;
}
int product1(int L, int W){
int product=2*(L+W);
return product;
}
public static void main(String str[]){
quadratics1 m = new quadratics1();
System.out.println(a+" " + b+ " " + m.sum1(a,b));
System.out.println(a+" " + b+ " " + m.product1(a,b));
}
}
Ошибки я получаю являются: идентификатор ожидаемой для переменных а и Ь в строках 4 и 6
Я также попытался это:
import javax.swing.*;
class quadratics1{
void sum(int L, int W){
int sum1=(L+W);
System.out.println(a+" " + b+ " " + m.sum1(L,W));
}
void product(int L, int W){
int product1=2*(L+W);
System.out.println(a+" " + b+ " " + m.product1(L,W));
}
public static void main(String str[]){
int a,b;
quadratics1 m = new quadratics1();
String input1=JOptionPane.showInputDialog("Please enter an integer");
a=Integer.parseInt(input1);
String input2=JOptionPane.showInputDialog("Please enter another integer");
b=Integer.parseInt(input2);
}
}
Я не знаю, что я делая ошибки, я получаю ошибки для переменных. Любая помощь будет принята с благодарностью. Я пытался понять это на несколько дней. Я новичок в кодировании, и я должен это сделать завтра
Для второй части я написал этот код для уравнений, но я не знаю, как сделать его в методе.
double a, b, c,d,r,rr;
String input1 = JOptionPane.showInputDialog("Please, enter the first real number");
a = Double.valueOf(input1).doubleValue();
String input2 = JOptionPane.showInputDialog("Please, enter the second real number");
b = Double.valueOf(input2).doubleValue();
String input3 = JOptionPane.showInputDialog("Please, enter the third real number");
c = Double.valueOf(input3).doubleValue();
d= Math.pow(b,2) - 4*a*c;
d = Math.round(d*100)/100.0;
r= (-b + Math.sqrt(Math.pow(b,2) - (4*a*c)))/(2*a);
r = Math.round(r*100)/100.0;
rr= (-b - Math.sqrt(Math.pow(b,2) - (4*a*c)))/(2*a);
rr = Math.round(rr*100)/100.0;
System.out.println("You have entered a = " + a + " b = " + b + " c = " + c);
System.out.println("The quadratic equation is " + a + "x^2 " + b + "x " + c + " = 0");
System.out.println("The discriminant is D= " + d + " D is calculated using the formula D= " + b + "^2 " + " - 4" + "("+ a + ")" + "("+ c + ")");
System.out.println("The roots are " + r + " and " + rr);
@ Давид Он называет их в основном в sysout. –
Что не работает в первую очередь? Вторая попытка выглядит так: методы бесконечно рекурсивные (хотя, к счастью, никогда не вызывались изначально). – David
«Я получаю ошибки для переменных» на самом деле не является конкретным. Пожалуйста, покажите нам, что вы ожидаете и что видите. – BadZen