用Java求一元二次方程ax2+bx+c=0的根,要求a、b、c从控制台输入

2025-04-24 15:23:33
推荐回答(4个)
回答1:

import java.util.Scanner;
public class Compare {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("请输入a");
int a = sc.nextInt();
System.out.println("请输入b");
int b = sc.nextInt();
System.out.println("请输入c");
int c = sc.nextInt();

if(b*b - 4*a*c < 0){
System.out.println("对不起,无解!");
}else if(b*b - 4*a*c == 0){
System.out.println("此方程解x=" + -b/(2*a));
}else{
System.out.println("此方程解x1=" + ((-b+ "/"+ 2*a +"+√(" + (b*b - 4*a*c)) +")/" +(2*a)) + " , x2=" + ((-b+ "/"+ 2*a + "-√(" + (b*b - 4*a*c)) +")/" +(2*a)) );
}
}
}

回答2:

输出格式

请输入a
4
请输入b
7
请输入c
1
此方程解x1=-7/8+√(33)/8 , x2=-7/8-√(33)/8
==============================================
import java.util.Scanner;
public class Compare {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("请输入a");
int a = sc.nextInt();
System.out.println("请输入b");
int b = sc.nextInt();
System.out.println("请输入c");
int c = sc.nextInt();

if(b*b - 4*a*c < 0){
System.out.println("对不起,无解!");
}else if(b*b - 4*a*c == 0){
System.out.println("此方程解x=" + -b/(2*a));
}else{
System.out.println("此方程解x1=" + ((-b+ "/"+ 2*a +"+√(" + (b*b - 4*a*c)) +")/" +(2*a)) + " , x2=" + ((-b+ "/"+ 2*a + "-√(" + (b*b - 4*a*c)) +")/" +(2*a)) );
}
}
}

回答3:

import java.util.Scanner;
public class Compare {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("请输入a");
int a = sc.nextInt();
System.out.println("请输入b");
int b = sc.nextInt();
System.out.println("请输入c");
int c = sc.nextInt();

if(b*b - 4*a*c < 0){
System.out.println("对不起,无解!");
}else if(b*b - 4*a*c == 0){
System.out.println("此方程解x=" + -b/(2*a));
}else{
System.out.println("此方程解x1=" + ((-b+ "/"+ 2*a +"+√(" + (b*b - 4*a*c)) +")/" +(2*a)) + " , x2=" + ((-b+ "/"+ 2*a + "-√(" + (b*b - 4*a*c)) +")/" +(2*a)) );
}
}
}

回答4:

其实你可以搜搜二分搜索算法 对你会更有用