一元二次方程java实现代码
这道题是班里同学的做法
题目是一元二次方程
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实现代码相关推荐
- 解一元二次方程——Java
解一元二次方程: 可以使用下面的公式求元二次方程ax*x+bx+c=0的两个根: b*b- 4ac称作一元二次方程的判别式.如果它是正值,那么一元二次方程就有两个实数根.如果它为0,方程式就只有一个根 ...
- 解一元二次方程-Java语言实现
前言 高考完的那个暑假我就开始自学C语言.那时候通过看视频和<C primer plus>写了一个解一元二次方程的程序,从此走上了吊打大学同班同学的路-- 但是那次是用C语言写的,如今白云 ...
- c语言一元二次方程求根代码,一元二次方程求解程序完整代码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面的代码是我刚才无聊写的.对于简单的一元多次方程的迭代 #include #include #include #define MAXTIMES 5 ty ...
- 一元二次方程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 ...
- 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;此题不需考虑复数解得情 ...
- C语言求解一元二次方程组的代码
#include <stdio.h> #include <math.h>int main() {double a, b, c, deta, x1, x2, p, q;scanf ...
- 【Java】求一元二次方程根
[Java]求一元二次方程根 效果 代码 package com.cxl.demo19_Exception; //求一元二次方程根 import java.util.Arrays; import ja ...
- C语言一元二次方程表示如下,C语言一元二次方程day6
交换数和一元二次方程 交换数 代码: F11运行后,随机输入两个数 (注意两数之间要空格分开) 解一元二次方程 代码: 如果⊿=b*b-4ac>0,方程有解. 如:输入1 -1 -6(数字空格分 ...
- 使用c语言求一元二次方程的根
要想使用c语言编写这个实例,就需要知道数学上的公式. 一元二次方程表达式为:a * x * x + bx + c = 0(其中,a ≠ 0) 根的判别式为:Δ = b * b - 4 * a * c: ...
最新文章
- js怎么把按钮往下移_js 实现单行数据上下移动
- CVPR 2017 《Deep Feature Flow for Video Recognition》论文笔记
- linux 初学体验 20155317 王新玮
- ztree和php结合实例,实例详解jQuery EasyUI结合zTree树形结构制作web页面
- 企业开发--React 中的this使用
- 华为将在数据库市场挑战Oracle:5月15日发布云数据库产品
- java实习周记_java程序员的实习周记
- python tan图
- 从零开发区块链应用(一)--golang配置文件管理工具viper
- php全量导出,项目中生成器应用,解决量级数据导出excel内存溢出
- 计算机相关文献综述范文,计算机文献综述范文.doc
- android 7.0低电耗Doze模式
- ip地址查询 免费 接口 linux 外网地址查询
- “TOP面对面” 技术AMA系列第一期:揭开TOP技术团队的神秘面纱
- 相敬如宾 你将获得更多敬重
- office2019word2019excel2019ppt2019关闭自动更新设置步骤
- 智能安全辅助驾驶系统 STM32——MQ3酒精传感器的应用(HAL库)
- [风铃开发系列]IView动态菜单配置
- 微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法
- CUDA编程 -- 2向量加法