首页上一页 1 下一页尾页 2 条记录 1/1页
求高手帮忙!
发表在Java图书答疑
2009-03-08
是否精华
是
否
版块置顶:
是
否
我写了一个求一元二次方程根的java程序。程序能运行,但是缺点是只能执行系数全为整数的方程,求高手帮我把程序改成对任意double类型的数据都能求解的java程序。我的程序代码如下:
import java.io.*;
public class fangcheng
{
public static void main(String args[])
throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int i,max=0;
double q[]=new double[3];
System.out.println("请输入一元二次方程的三个系数,方程的形式为ax^2+bx+c=0");
System.out.println("每次输入一个数后按回车");
for(i=0;i<=q.length-1;i++)
{
q= Integer.parseInt(br.readLine());
}
double a =q[0];
double b = q[1];
double c = q[2];
double d;
d = b*b-4*a*c;
if(d<0)
{
System.out.println("原方程无实数根!");
}
else
{
System.out.println("原方程的实数根为:");
double x1;
double x2;
x1=((-b)/(2*a))+(Math.sqrt(d)/(2*a));
x2=((-b)/(2*a))-(Math.sqrt(d)/(2*a));
System.out.println("x1="+x1);
System.out.println("x2="+x2);
}
}
}
import java.io.*;
public class fangcheng
{
public static void main(String args[])
throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int i,max=0;
double q[]=new double[3];
System.out.println("请输入一元二次方程的三个系数,方程的形式为ax^2+bx+c=0");
System.out.println("每次输入一个数后按回车");
for(i=0;i<=q.length-1;i++)
{
q= Integer.parseInt(br.readLine());
}
double a =q[0];
double b = q[1];
double c = q[2];
double d;
d = b*b-4*a*c;
if(d<0)
{
System.out.println("原方程无实数根!");
}
else
{
System.out.println("原方程的实数根为:");
double x1;
double x2;
x1=((-b)/(2*a))+(Math.sqrt(d)/(2*a));
x2=((-b)/(2*a))-(Math.sqrt(d)/(2*a));
System.out.println("x1="+x1);
System.out.println("x2="+x2);
}
}
}