
正文
java求方程根代码 java 求根
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java编写程序求一元二次方程的根
import java.math.*;
public class demo{
/*
*
定义构造函数,写入A,B,C的值.
*/
private int a,b,c;
private Vector vector;
public demo(int a,int b,int c){
this.a = a;
this.b = b;
this.c = c;
}
public Vector test(){
if(b*b4*a*c){
System.out.println("无跟");
vector.add("空");
}
else if(b*b=4*a*c){
int i = (-b-cbrt(b^2-4*a*c))/2/a
System.out.println("只有一个根"+i);
vector.add(i);
}
else if(b*b4*a*c){
double x1=(-b-cbrt(b^2-4*a*c))/2/a
double x2=(-b+cbrt(b^2-4*a*c))/2/a
vector.add(x1);
vector.add(x2);
}
}
}
应该就是这个样子,我印象中写的,没有调试,你按照这个思路去改改
相关问答
Q1: 用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进行动图的制作,运行结果动图如下:
Q2: 如何用java编写一元二次方程的求根问题
import java.util.Scanner;
public class 一元二次方程 {
public static void main(String[] args) {
System.out.println("请输入java求方程根代码你一元二次方程的a,b,c");
Scanner input=new Scanner(System.in);
int a=input.nextInt();
int b=input.nextInt();
int c=input.nextInt();
double d=b*b-4*a*c;
double e,f;
if (d==0){
System.out.println("这是个完全平方");
e=f=-b/2*a;
System.out.print(e);
}
else if(d0) {
System.out.println("无效根");
}
else {
System.out.println("这是个不完全平方,需要用求根公式");
double g=Math.sqrt(Math.abs(b));
e=-(b+g)/2*a;
f=-(e);
System.out.println("第一根是"+e);
System.out.println("第二根是"+f);
}
}
}
这是我的运行结果
扩展资料:
利用java编程解决数学上的解方程题,我们需要把方程求解的思路写出来,然后对应到每一步具体的求解步骤上。就比如解一元二次方程,需要我们把解方程的求根公式,判断式写出,最后用代码表示出来就好java求方程根代码了。
需要注意的是,java中有特定的包和数学函数去求解数学问题,比如求根号可以用Math.sqrt()函数,求绝对值用Math.abs()函数
Q3: java求一元二次方程的根
import java.util.Scanner;
public class Test30009{
public static void main(String args[]){
int repeat, ri;
int a,b,c,d;
double x1 = 0,x2;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri = 1; ri = repeat; ri++){
a=in.nextInt();b=in.nextInt();c=in.nextInt();
d=b*b-4*a*c;
if(a==0b==0c==0)
System.out.println("a=b=c=0,meaningless");
else if(a==0b==0)
System.out.println("a=b=0,c!=0,error");
else if(a==0){
x1=-c*1.0/b;
System.out.println("x="+String.format("%.2f", x1));
}else if(d0||d==0){
x1=(-b+Math.sqrt(d))/(2*a);
x2=(-b-Math.sqrt(d))/(2*a);
System.out.println("x1="+String.format("%.2f", x1));
System.out.println("x2="+String.format("%.2f", x2));
}else{
x1=-b*1.0/(2*a);
x2=Math.sqrt(-d)/(2*a);
System.out.println("x1="+String.format("%.2f", x1)+"+"+String.format("%.2f", x2)+"i");
System.out.println("x2="+String.format("%.2f", x1)+"-"+String.format("%.2f", x2)+"i");
}
}
}
}
Q4: java 求一元二次方程的根
准确的说:是错在了
System.out.println("方程的1根是"+aa.calculator1());
System.out.println("方程的2根是"+aa.calculator2());
这两句上,因为无法从静态上下文中引用非静态 变量a,b,c,因为你没在double 前声明static ,所以无法引用到a,b,c,的值.即使你在前加了static (static double a,b,c)下面main函数里引用的都为0.0
现修改如下:
import java.math.*;
public class Function
{
public static boolean boo;//------------------------------声明全局变量,再在函数内运算
static double a,b,c,x;
public static double p;
public Function(double a,double b,double c)
{
this.a=a;
this.b=b;
this.c=c;
p=b*b-4*a*c;
if(p=0)
{
// c=a*x*x+b*x;
boo=true;
}
else
{
// System.out.println("方程无实根");
boo=false;
}
}
double calculator1()
{
double s1;
s1=((-b)-Math.sqrt(p))/(2*a);
return s1;
}
double calculator2()
{
double s2;
s2=((-b)+Math.sqrt(p))/(2*a);
return s2;
}
public static void main(String args[])
{
Function aa=new Function(2.0,6.0,3.0);
//System.out.println(boo);
System.out.println(b);//你可以多写这样的语句进行测试
if(boo)
{
System.out.println("方程的1根是"+aa.calculator1());
System.out.println("方程的2根是"+aa.calculator2());
}
else
{
System.out.println("方程无实根");
}
}
}
运行结果://true
//6.0
方程的1根是-2.3660254037844384
方程的2根是-0.6339745962155614
哈哈,总之是static没用好,给分吧快。
Q5: 用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求方程根代码和java 求根的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






