这道题是班里同学的做法
题目是一元二次方程
package bad;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Equation {
public static Map<String,Double> Unary(double a,double b,double c) {
Map<String, Double> map = new HashMap<String, Double>();
double delta = b * b - 4 * a * c;
map.put(“delta”, delta);
if (delta >= 0) {
double x1 = ((-b + Math.sqrt(delta)) / (2 * a));
double x2 = ((-b - Math.sqrt(delta)) / (2 * a));
map.put(“x1”, x1);
map.put(“x2”, x2);
} else {
double realN = -b * b / (2 * a);
double imaginary = Math.sqrt(-delta) / (2 * a);
map.put(“realN”, realN);
map.put(“imaginary”, imaginary);
}
return map;
}
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println(“请输入a,b,c的值”);
double a=in.nextInt();
double b=in.nextInt();
double c=in.nextInt();
Map<String,Double> map=Equation.Unary(a,b,c);
if(map.get(“delta”)>=0){
System.out.println(“解出x1为”+map.get(“x1”));
System.out.println(“解出x2为”+map.get(“x2”));
}else{
System.out.println(“此方程有虚解”);
System.out.println(“实数为”+map.get(“realN”));
System.out.println(“虚数为”+map.get(“imaginary”));
}

}

}
老师的代码
public class SolveEquation {
public static boolean isZero(double a) {
return Math.abs(a) < 1e-6;
// return false;
}

public static double[] solveUnaryQuadraticEquation(double a, double b, double c) {
double[] result = { 0.0, 0.0,2.0 };//result[2]用于对解的性质做描述
double delta = b * b - 4 * a * c;

if (isZero(a)) {
result[2] = 0;//不是二次方程
}
else if(delta<0) {
result[2]=1;//没有实数解
}
else {
double tem = Math.sqrt(delta);
result[0] = (-b + tem) / 2.0 / a;
result[1] = (-b - tem) / 2.0 / a;
}

return result;
}
}

public class tester {

public static void main(String[] args) {
// TODO Auto-generated method stub
double[] r = SolveEquation.solveUnaryQuadraticEquation(1.0, 0, 0);

if (SolveEquation.isZero(r[2]))
System.out.println(“二次项系数不能为0”);
else if (SolveEquation.isZero(r[2] - 1))
System.out.println(“没有实数解!”);
else {
System.out.println("x1= " + r[0]);
System.out.println("x2= " + r[1]);
}
}

}
说实话老师这种做法真的看不懂 呜呜呜
老师还嫌弃我们的代码很菜 呜呜呜

一元二次方程java实现代码相关推荐

  1. 解一元二次方程——Java

    解一元二次方程: 可以使用下面的公式求元二次方程ax*x+bx+c=0的两个根: b*b- 4ac称作一元二次方程的判别式.如果它是正值,那么一元二次方程就有两个实数根.如果它为0,方程式就只有一个根 ...

  2. 解一元二次方程-Java语言实现

    前言 高考完的那个暑假我就开始自学C语言.那时候通过看视频和<C primer plus>写了一个解一元二次方程的程序,从此走上了吊打大学同班同学的路-- 但是那次是用C语言写的,如今白云 ...

  3. c语言一元二次方程求根代码,一元二次方程求解程序完整代码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面的代码是我刚才无聊写的.对于简单的一元多次方程的迭代 #include #include #include #define MAXTIMES 5 ty ...

  4. 一元二次方程c语言代码题目,C语言考试练习题_一元二次方程 (C++代码)

    解题思路: int d =    b*b-4*a*c; 1.    d等于0,则两个根相等并等于负的2a分之b,    2.    d大于0,则两个根不等,带入公式(-b-sqrt(b*b-4*a*c ...

  5. C语言double里的deta,C语言考试练习题_一元二次方程 (C++代码)

    解题思路:1.判断deta的值:deta>0,x1=-b+sqrt(deta)/2*a;x2=-b-sqrt(deta)/2*a; deta=0,x1.x2=-b/2*a;此题不需考虑复数解得情 ...

  6. C语言求解一元二次方程组的代码

    #include <stdio.h> #include <math.h>int main() {double a, b, c, deta, x1, x2, p, q;scanf ...

  7. 【Java】求一元二次方程根

    [Java]求一元二次方程根 效果 代码 package com.cxl.demo19_Exception; //求一元二次方程根 import java.util.Arrays; import ja ...

  8. C语言一元二次方程表示如下,C语言一元二次方程day6

    交换数和一元二次方程 交换数 代码: F11运行后,随机输入两个数 (注意两数之间要空格分开) 解一元二次方程 代码: 如果⊿=b*b-4ac>0,方程有解. 如:输入1 -1 -6(数字空格分 ...

  9. 使用c语言求一元二次方程的根

    要想使用c语言编写这个实例,就需要知道数学上的公式. 一元二次方程表达式为:a * x * x + bx + c = 0(其中,a ≠ 0) 根的判别式为:Δ = b * b - 4 * a * c: ...

最新文章

  1. js怎么把按钮往下移_js 实现单行数据上下移动
  2. CVPR 2017 《Deep Feature Flow for Video Recognition》论文笔记
  3. linux 初学体验 20155317 王新玮
  4. ztree和php结合实例,实例详解jQuery EasyUI结合zTree树形结构制作web页面
  5. 企业开发--React 中的this使用
  6. 华为将在数据库市场挑战Oracle:5月15日发布云数据库产品
  7. java实习周记_java程序员的实习周记
  8. python tan图
  9. 从零开发区块链应用(一)--golang配置文件管理工具viper
  10. php全量导出,项目中生成器应用,解决量级数据导出excel内存溢出
  11. 计算机相关文献综述范文,计算机文献综述范文.doc
  12. android 7.0低电耗Doze模式
  13. ip地址查询 免费 接口 linux 外网地址查询
  14. “TOP面对面” 技术AMA系列第一期:揭开TOP技术团队的神秘面纱
  15. 相敬如宾 你将获得更多敬重
  16. office2019word2019excel2019ppt2019关闭自动更新设置步骤
  17. 智能安全辅助驾驶系统 STM32——MQ3酒精传感器的应用(HAL库)
  18. [风铃开发系列]IView动态菜单配置
  19. 微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法
  20. CUDA编程 -- 2向量加法

热门文章

  1. Python使用纯matplotlib画个世界杯足球
  2. Proe Creo 二次开发之动态干涉检查 调研
  3. Ubuntu_部分键盘F1~F12强制为功能键
  4. Iterator_trait总结
  5. 硬件知识:如何快速挑选一款好的固态硬盘?
  6. web开发之Cookie使用
  7. 如何利用GHOST进行全盘的文件备份
  8. 拍卖小程序直播功能扩展之翻转摄像头、美颜
  9. CC1101和CC1120的区别
  10. 【AtCoder】Japanese Student Championship 2019 Qualification题解