小弟最近在搞这个java的学习,刚入门就被这个一元二次方程K倒了。。
各位帮忙看看吧,编了1个小时了,还是没编译出来,错误无限要求:
/*
*编写一个程序求一元二次方程ax2+bx+c=0的解,a、b、c从键盘输入要求讨论下述情况:
* b*b-4*a*c=0,有两个相等实根
* b*b-4*a*c>0,有两个不等实根
* b*b-4*a*c<0,无实根
* a=0,不是二次方程式
*/当符合b*b-4*a*c>0,要求能正常输出2个值。
各位帮忙看看吧,编了1个小时了,还是没编译出来,错误无限要求:
/*
*编写一个程序求一元二次方程ax2+bx+c=0的解,a、b、c从键盘输入要求讨论下述情况:
* b*b-4*a*c=0,有两个相等实根
* b*b-4*a*c>0,有两个不等实根
* b*b-4*a*c<0,无实根
* a=0,不是二次方程式
*/当符合b*b-4*a*c>0,要求能正常输出2个值。
解决方案 »
- java编写的聊天,但不知道好友界面怎么实时刷新!求思路
- java 登录页面问题
- 什么情况下需要用到JNDI
- import javax.xml.bind.*;
- 开启tomcat在IE中打入localhost:8080/JSP网页需要输入密码如下
- 如何完善这个界面?
- 面板中显示gif图片的问题
- 我的尚学堂坦克大战网络版 对方坦克动不了,请大牛们分析分析
- 有关java编译的问题,急在线等待
- 请问java的哪个平台好,是sun的java,还是微软的j++?
- hibernate 使用update是抛出异常:Batch update returned unexpected row count from update:
- 又是String问题
public class jie {
public static void main(String [] args){
double a;
double b;
double c;
boolean flag=true;
Scanner input=new Scanner(System.in);
System.out.print("请输入a的值:");
a=input.nextDouble();
System.out.print("请输入b的值:");
b=input.nextDouble();
System.out.print("请输入c的值:");
c=input.nextDouble();
if(a==0){
System.out.println("此方程不是二次方程式");
flag=false;
}
double d=b*b-4*a*c;
if(flag){
if(d>0){
System.out.println("有两个不等的实根");
double x1=(-b+Math.sqrt(d))/(2*a);
double x2=(-b-Math.sqrt(d))/(2*a);
System.out.print("x1="+x1+"\nx2="+x2);
}else if(d==0){
System.out.println("有两个相等的实根");
double x1=(-b+Math.sqrt(d))/(2*a);
System.out.print("x1=x2="+x1);
}else{
System.out.println("无实根");
}
}
}
}
java和C、C++很相似,不是很难!import java.io.*;
public class test {
public static void main(String args[]) {
int a,b,c;
double root1,root2;
try{
BufferedReader stdin = new BufferedReader
(new InputStreamReader(System.in));
System.out.print("请输入a =\t" );
a = Integer.parseInt(stdin.readLine());
System.out.print("\n请输入b =\t" );
b = Integer.parseInt(stdin.readLine());
System.out.print("请输入c =\t" );
c = Integer.parseInt(stdin.readLine());
if(a == 0){
System.out.println("方程ax2+bx+c=0不是二次方程式!");
if(b == 0){
if(c == 0){
System.out.println("方程有无数解!");
}
else{
System.out.println("方程无解!");
}
}
else{
System.out.println("The root is:" + ((-c)/b));
}
}
else{ //a != 0
System.out.println("方程ax2+bx+c=0是一元二次方程!");
if(b*b - 4*a*c <0){
System.out.println("一元二次方程ax2+bx+c=0无实根!");
}
else if(b*b - 4*a*c ==0){
root1 = (-b)/(2*a);
System.out.println("一元二次方程ax2+bx+c=0有两个相等的实根!The root is:" + root1);
}
else{
root1 = ((-b)-Math.sqrt(b*b - 4*a*c))/(2*a);
root2 = ((-b)+Math.sqrt(b*b - 4*a*c))/(2*a);
System.out.println("一元二次方程ax2+bx+c=0有两个不等的实根!The one root is:"
+ root1+"\tThe another root is:" + root2);
}
}
}
catch(Exception e){
System.out.println(e);
}
}}
免得重复计算!