十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
import java.util.Scanner;
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、网站建设、外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的高平网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
public class equation {
public static void main(String[] args){
System.out.println("输入一元二次系数a,b,c:");
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
int c=in.nextInt();
double x1,x2;
int deta=b*b-4*a*c;
if(deta==0){
x1=x2=(-b)/(2*a);
System.out.println("x1="+x1);
System.out.println("x2="+x2);
}else{
double t=Math.sqrt(Math.abs(deta))/(2*a);
if(deta0){
x1=(-b)/(2*a)+t;
x2=(-b)/(2*a)-t;
System.out.println("x1="+x1);
System.out.println("x2="+x2);
}else{
x1=(-b)/(2*a);
x2=(-b)/(2*a);
System.out.println("x1="+x1+"+"+t+"*i");
System.out.println("x2="+x2+"-"+t+"*i");
}
}
}
}
import java.util.Scanner;
public class abcXXX {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner (System.in);
System.out.println("请输入一元二次方程的a、b、c的值:");
System.out.print("a=");
int a =input.nextInt();
System.out.print("b=");
int b =input.nextInt();
System.out.print("c=");
int c =input.nextInt();
double num=-b/(2.0*a); //求一元二次方程的对称轴
double price=Math.sqrt(b*b-4*a*c)/2.0*a;
double x1=num-price; //一元二次方程的一个根
double x2=num+price; //一元二次方程的另一个根
System.out.println("此一元二次方程的根为:"+"x1="+x1+"\t"+"x2="+x2);
}
}
1)简介
一元二次方程 ax2+bx+c=0 的a、b、c三个参数由用户自行定义,通过该程序输出该一元二次方程的根。
对于该程序需要在“应声虫”的基础上进行参数的自定义,在定义完成后需要通过求根公式实现结果的输出,其中Math.sqrt()为对括号的内容进行开平方根。
2)任务代码
关于该程序的代码如下:
import java.util.Scanner;//导入java.util包下的Scanner类
public class Test2{//类名
public static void main(String[] args) {//程序主入口函数,带命令行参数
System.out.print("求ax^2+bx+c=0的根"+"\n");//输出标题
Scanner in=new Scanner(System.in);//创建scanner,控制台会一直等待输入,直到敲回车结束
System.out.print("请输入a的值:");//输出“提示”
int a=in.nextInt();//用户可自行定义a的值
System.out.print("请输入b的值:");//输出“提示”
int b=in.nextInt();//用户可自行定义b的值
System.out.print("请输入c的值:");//输出“提示”
int c=in.nextInt();//用户可自行定义c的值
double x1=((-b+Math.sqrt(b*b-4*a*c))/(2*a));//运用求根公式,并且Math.sqrt()为开平方根
double x2=((-b-Math.sqrt(b*b-4*a*c))/(2*a));//运用求根公式,并且Math.sqrt()为开平方根
System.out.print("x1="+x1+"\n"+"x2="+x2);//输出两个根的结果
}
}
3)运行结果
使用LICEcap进行动图的制作,运行结果动图如下:
以下是定义一元二次方程类、封装系数及其求根方法的示例代码:
public class Equation {
private double a;
private double b;
private double c;
// 封装系数
public void setA(double a) {
this.a = a;
}
public double getA() {
return a;
}
public void setB(double b) {
this.b = b;
}
public double getB() {
return b;
}
public void setC(double c) {
this.c = c;
}
public double getC() {
return c;
}
// 求根方法
public void solve() {
double delta = b * b - 4 * a * c;
if (delta 0) {
double x1 = (-b + Math.sqrt(delta)) / (2 * a);
double x2 = (-b - Math.sqrt(delta)) / (2 * a);
System.out.println("方程的两个解分别为:" + x1 + "和" + x2);
} else if (delta == 0) {
double x = -b / (2 * a);
System.out.println("方程的解为:" + x);
} else {
System.out.println("方程无解");
}
}
}
在main()方法中定义一个一元二次方程对象并调用求根方法,可以这样写:
public static void main(String[] args) {
// 创建一个一元二次方程对象
Equation eq = new Equation();
// 设置系数
eq.setA(1);
eq.setB(2);
eq.setC(1);
// 调用求根方法
eq.solve();
}
上面的代码会输出:方程的解为:-1.0。