鱼C论坛

 找回密码
 立即注册
查看: 187|回复: 1

java

[复制链接]
发表于 2023-12-22 16:11:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
58.(程序题,5.0分)
从键盘输入一元二次方程的系数a,b,c。计算方程的根,如果没有实数根根,输出共轭虚根(两个根由大至小分行输出,虚根格式为2+3i,2-3i)。

Java
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-22 16:13:06 | 显示全部楼层
首先,我们需要通过键盘输入获取方程的系数a、b和c。可以使用Scanner类来实现:
  1. import java.util.Scanner;
  2. public class QuadraticEquation {
  3.     public static void main(String[] args) {
  4.         Scanner scanner = new Scanner(System.in);
  5.         
  6.         System.out.print("请输入一元二次方程的系数a:");
  7.         double a = scanner.nextDouble();
  8.         
  9.         System.out.print("请输入一元二次方程的系数b:");
  10.         double b = scanner.nextDouble();
  11.         
  12.         System.out.print("请输入一元二次方程的系数c:");
  13.         double c = scanner.nextDouble();
  14.         
  15.         // 调用计算根的方法
  16.         calculateRoots(a, b, c);
  17.     }
  18.    
  19.     public static void calculateRoots(double a, double b, double c) {
  20.         double delta = b * b - 4 * a * c;  // 计算判别式
  21.         
  22.         if (delta > 0) {  // 有两个不同的实数根
  23.             double root1 = (-b + Math.sqrt(delta)) / (2 * a);
  24.             double root2 = (-b - Math.sqrt(delta)) / (2 * a);
  25.             
  26.             System.out.printf("方程的根为:%.2f, %.2f", root1, root2);
  27.         } else if (delta == 0) {  // 有一个重根
  28.             double root = -b / (2 * a);
  29.             
  30.             System.out.printf("方程的根为:%.2f", root);
  31.         } else {  // 没有实数根,有共轭虚根
  32.             double realPart = -b / (2 * a);
  33.             double imaginaryPart = Math.sqrt(-delta) / (2 * a);
  34.             
  35.             System.out.printf("方程的根为:%.2f+%.2fi, %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart);
  36.         }
  37.     }
  38. }
复制代码

这段代码通过调用`nextDouble()`方法从控制台获取用户输入的系数a、b和c,然后调用`calculateRoots()`方法计算方程的根,并将结果打印出来。在`calculateRoots()`方法中,我们首先计算判别式delta,然后根据delta的值分别处理三种情况:有两个不同的实数根、有一个重根、没有实数根(即共轭虚根)。最后使用`printf()`方法将结果打印出来。

希望以上代码能够帮到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-29 01:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表