import java.util.Scanner; // scanner 是干什么用的?是不是有要用户输入的时候就在前面加这个呢?
public class SolveEquation{
public static void main(String[] args) {
double a, b, c; // 这里为什么要用double? 用int 可以么?
Scanner scanner = new Scanner(System.in); // 这个是什么意思? 前面的scanner 为什么要连续写两遍?
System.out.println("请输入一元二次方程的三个系数,数与数之间用空格分隔。");
a = scanner.nextDouble(); // 这三行就完全看不懂了。。
b = scanner.nextDouble();
c = scanner.nextDouble();
if (a==0){
if (b==0)
if (c==0)
System.out.println("x 可以是任意值。");
else
System.out.println("本方程无解。");
else
System.out.println("本方程有一个解,值为" + (-c/b) + "。");
}
else{
double delta = b*b - 4*a*c; // delta是什么东西? 可以直接拿过来用的么?
if (delta<0)
System.out.println("本方程无实数解。");
else{
double x1 = (-b + Math.sqrt(delta))/(2*a);
double x2 = (-b - Math.sqrt(delta))/(2*a);
if (x1!=x2)
System.out.println("本方程有两个解,分别为 " + x1 + " 和 " + x2);
else
System.out.println("本方程有一个解,值为 " + x1);
}
}
}
}
老师上java课的时候讲的例题,我从来没有学过这个,老师也没有讲基础,所以我完全跟不上呐,拜托大家帮帮忙吧。。。