用面向对象的思想实现一元二次方程ax*x+b*x+c=0
a,b,c从键盘输入
代码如下,希望对你有用
package question;
//创建Function类,用以实现功能
public class Function {
//私有化成员变量a,b,c
private double a;
private double b;
private double c;
//为每个成员变量提供set/get方法
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
//提供无参、有参构造方法
public Function() {}
public Function(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
//提供成员方法,用以解决二次函数问题
public void quadratic(){
double d=b*b-4*a*c;
if (Math.pow(d, 0.5)>=0) {
//求根公式
double q1=(-b)+Math.pow(d, 0.5);
double q2=(-b)-Math.pow(d, 0.5);
System.out.println(q1+" "+q2);
}else {
System.out.println("没有实根");
}
}
}
然后,
package question;
//创建Test类,用以测试程序
import java.util.Scanner;//导包
public class Test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//创建键盘录入对象
System.out.println("请输入a的值");//接收键盘录入数据
double a=sc.nextDouble();
System.out.println("请输入b的值");//接收键盘录入数据
double b=sc.nextDouble();
System.out.println("请输入c的值");//接收键盘录入数据
double c=sc.nextDouble();
Function f = new Function(a,b,c);//调用方法Function
f.quadratic();
}
}
请用面向对象的思想抽出题的人三个大耳刮,不服来找我。
把一元二次方程看作一个对象,A,B,C为对象属性,鄙人愚见
public class FangCheng{
int a,b,c;
public FangCheng(){
//......
}
public double getResult(){
//.....
}
//---get/set 略
}
谢谢,还是很有帮助的
谢谢,还是很有帮助的