已有101人关注
求高手帮忙!
发表在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);
}


}
分享到:
精彩评论 2
ylzhu
学分:0 LV1
2009-03-09
沙发
for(i=0;i<=q.length-1;i++) 

q= Integer.parseInt(br.readLine());

问题出在q= Integer.parseInt(br.readLine());上,改成q=Double(br.readLine());或q=Double.parseDouble(br.readLine());试试
9527
学分:0 LV1
2009-03-12
板凳
Integer.parseInt()这个方法是将一个字符串解析成为一个整数。返回值是int类型的。
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照