方程代码java java方程式

JAVA编写求解一元多次方程的程序,要求如下:

import java.io.*;

在秀洲等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都网站设计 网站设计制作按需设计网站,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站,成都外贸网站建设公司,秀洲网站建设费用合理。

import java.util.*;public class SolveEquation

{

void print()throws IOException

{

char ch='y';

System.out.println("求解几次方程?1:一次 2:二次 3:三次");

Scanner sLine=new Scanner(System.in);

int pm=sLine.nextInt();

if(pm==1)

{

System.out.println("你选择的是一元一次方程:");

SolveEquation.SolveSimpleEquation fc=new SolveEquation().new SolveSimpleEquation();

fc.SolveSimpleEquation();

}

else if(pm==2)

{

System.out.println("你选择的是一元二次方程:");

SolveEquation.SolveQuadraticEquation fc=new SolveEquation().new SolveQuadraticEquation();

fc.SolveQuadraticEquation();

}

else if(pm==3)

{

System.out.println("你选择的是一元三次方程:");

SolveEquation.SolveCubicEquation fc=new SolveEquation().new SolveCubicEquation();

fc.SolveCubicEquation();

}

else

{

print();

}

System.out.println("你是否想继续:(y/n)");

ch=(char)System.in.read()()

System.in.skip(2);

if(ch=='y')

{

print();

}

else if(ch=='n')

{

System.out.println("Good luck!");

}

else

{

print();

}

public static void main (String args[]) throws IOException

{

SolveEquation se=new SolveEquation();

se.print();

}

interface I1

{

void SolveCubicEquation();

}

interface I2

{

void SolveQuadraticEquation();

}

interface I3

{

void SolveSimpleEquation();

}

class SolveCubicEquation implements I1

{

public void SolveCubicEquation()

{

System.out.println("请输入形如一元三次方程mx^3+nx^2+tx+s=0的四个系数");

Scanner sce=new Scanner(System.in);

double m=sce.nextDouble();

double n=sce.nextDouble();

double t=sce.nextDouble();

double s=sce.nextDouble();

if(m==0)

{

System.out.print("输入错误!");

}

else

{

double a=n/m;

double b=t/m;

double c=s/m;

double q=(a*a-3*b)/9;

double r=(2*a*a*a-9*a*b+27*c)/54;

if(r*rq*q*q)

{

System.out.println("此方程有三个解:");

t=Math.acos(r/Math.sqrt(q*q*q));

double x1=-2*Math.sqrt(q)*Math.cos(t/3)-a/3;

double x2=-2*Math.sqrt(q)*Math.cos((t+2*Math.PI)/3)-a/3;

double x3=-2*Math.sqrt(q)*Math.cos((t-2*Math.PI)/3)-a/3;

System.out.println("x1="+x1+","+"x2="+x2+","+"x3="+x3);

}

else

{

System.out.println("此方程只有一个解:");

int sgn=(r=0)?1:-1;

double u=-sgn*Math.pow((Math.abs(r)+Math.sqrt(r*r-q*q*q)),1./3);

double v=(u!=0)?q/u:0;

double x1=u+v-a/3;

System.out.println("x="+x1);

}

}

}

}

class SolveQuadraticEquation implements I2

{

public void SolveQuadraticEquation()

{

System.out.println("请输入形如一元二次方程ax^2+bx+c=0的三个系数");

Scanner sce=new Scanner(System.in);

double a=sce.nextDouble();

double b=sce.nextDouble();

double c=sce.nextDouble();

if(a==0)

{

System.out.print("输入错误!");

}

else

{

double d=b*b-4*a*c;

if(d0)

{

double x1=(-b+Math.sqrt(d))/2*a;

double x2=(-b+Math.sqrt(d))/2*a; System.out.println("有两个实根x1="+x1+","+"x2="+x2);

}

else if(d==0)

{

System.out.println("有一个实根"+(-b/2*a));

}

else if(d0)

{

double Re=-b/(2*a);

double Im=Math.sqrt(-d)/(2*a);

System.out.println("实部="+Re+" "+"虚部="+Im);

}

}

}

}

class SolveSimpleEquation implements I3

{

public void SolveSimpleEquation()

{

System.out.println("请输入形如一元一次方程ax+b=0的两个系数");

Scanner sce=new Scanner(System.in);

double a=sce.nextDouble();

double b=sce.nextDouble();

if(a==0)

{

System.out.print("输入错误!");

}

else

{

System.out.println("方程的根是x="+(-b/a));

}

}

}

}

用JAVA定义一个一元二次方程?

以下是定义一元二次方程类、封装系数及其求根方法的示例代码:

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。

用Java语言编写求解一元二次方程的解,方程系数从键盘输入若a为零输出

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进行动图的制作,运行结果动图如下:


当前名称:方程代码java java方程式
链接分享:http://myzitong.com/article/doshdss.html