用java实现复数的_Java实现复数运算
1 问题描述
编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:
要求:(1)定义一个结构体类型来描述复数。
(2)复数之间的加法、减法、乘法和除法分别用不用的函数来实现。
(3)必须使用结构体指针的方法把函数的计算结果返回。
说明:用户输入:运算符号(+,-,*,/) a b c d.
输出:a+bi,输出时不管a,b是小于0或等于0都按该格式输出,输出时a,b都保留两位。
输入:
- 2.5 3.6 1.5 4.9
输出:
1.00±1.30i
2 解决方案
package com.liuzhen.systemExe;
import java.io.IOException;
import java.util.Scanner;
public class Main{
public void complexOperation(char operation,double a,double b,double c,double d){
if(operation == '+'){
double temp1 = a + c;
double temp2 = b + d;
System.out.printf("%.2f",temp1);
System.out.print("+");
System.out.printf("%.2f",temp2);
System.out.print("i");
}
if(operation == '-'){
double temp1 = a - c;
double temp2 = b - d;
System.out.printf("%.2f",temp1);
System.out.print("+");
System.out.printf("%.2f",temp2);
System.out.print("i");
}
if(operation == '*'){
double temp1 = a*c - b*d;
double temp2 = a*d + b*c;
System.out.printf("%.2f",temp1);
System.out.print("+");
System.out.printf("%.2f",temp2);
System.out.print("i");
}
if(operation == '/'){
double temp1 = (a*c + b*d)/(c*c + d*d);
double temp2 = (b*c - a*d)/(c*c + d*d);
System.out.printf("%.2f",temp1);
System.out.print("+");
System.out.printf("%.2f",temp2);
System.out.print("i");
}
}
public static void main(String[] args){
Main test = new Main();
Scanner in = new Scanner(System.in);
//System.out.println("请输入一个运算符和四个数字:");
//此处重点在于单个字符的输入问题
char operation = 0;
try {
operation = (char)System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
double[] temp = new double[4];
for(int i = 0;i < 4;i++){
temp[i] = in.nextDouble();
}
test.complexOperation(operation, temp[0], temp[1], temp[2], temp[3]);
}
}
运行结果:
请输入一个运算符和四个数字:
+ 1 2 3 4
4.00+6.00i
请输入一个运算符和四个数字:
- 1 2 3 4
-2.00+-2.00i
用java实现复数的_Java实现复数运算相关推荐
- java声明复数类_JAVA声明复数类
声明复数类,成员变量包括实部和虚部,成员方法包括实现由字符串构造复数.复数加法.减法,字符串描述.比较相等等操作. 虽然我只是一个刚学一个月JAVA的菜鸡,但是强迫症让我把复数乘法和除法一起写出来了. ...
- Java计算器接口策略_Java 基础 接口 ——运算
利用接口做参数,写个计算器,能完成+-*/运算 (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 (3 ...
- java完善四则计算器_java 四则混合运算 计算器
public class Counter { /**用递归算法,把括号内的公式算出然后递归 * @param args */ public static void calculator (String ...
- java程序设计复数运算_Java实现复数运算
<Java实现复数运算>由会员分享,可在线阅读,更多相关<Java实现复数运算(2页珍藏版)>请在人人文库网上搜索. 1.定义一个复数类complex,它的内部具有两个实例变量 ...
- 第九届蓝桥杯 Java B组 第三题 复数幂 (详解)
蓝桥杯 加油 (ง •_•)ง 标题:复数幂 设i为虚数单位.对于任意正整数n,(2+3i)^n 的实部和虚部都是整数. 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂, ...
- python定义一个复数类complex、并实现复数相加_用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算...
题目: 用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加.减运算 复数具有实部和虚部两部分,如2+5i就是一个复数,其中2为实部,5i为虚部;两复数相加时,实部与实部相加 ...
- java中复数类中相加,复数运算的JAVA类
//这个类表示复数,定义了执行复数运算的方法. public class ComplexNumber { private double x, y; //初始化X和Y的构造函数 public Compl ...
- java实验报告二_java实验报告二
北京电子科技学院(BESTI) 实验报告 课程:java程序设计 班级:1351 姓名:陈民禾 学号:20135124 ...
- python复数类型转换_Python程序设计——复数运算(包括极坐标转换)
笔者本身是电气工程及其自动化专业出身,在平时的工作学习过程中,经常需要进行复数的运算以及矩阵相关的运算,但是奈何我实在是用不习惯matlab,一方面,matlab软件动辄十几个G这么大:另一方面,并且 ...
最新文章
- 小工匠聊架构-超高并发秒杀系统设计 04_流量削峰设计
- Institute for Manufacturing virtual check in part 1
- KDD Cup 2021:时间序列异常检测问题开源方案
- 联想拯救者y空间兑换代码_十代酷睿全面升级 拯救者Y7000P 2020产品解读
- 第三天 css核心属性
- mybatis中因为不理解$与#而出现的bug
- 为什么耗资数亿的12306一直都非常难用?
- 非同步DCDC的工作模式(CCM、DCM和BCM)
- LightOJ - 1341 Aladdin and the Flying Carpet 唯一分解定理
- Linux(centos)增加账户内存(Resource temporarily unavailable问题)
- 深度学习方法实现红外图片中人物动作识别
- js小学生图区_多种方式实现js图片预览
- 如何解决WIN11系统在安装HyperV虚拟机,网络桥接后网络上传慢的问题
- 《linux多线程服务端编程》---- C++基础前奏
- 删除Excel数据中的空格
- xshell调用js脚本开发
- [电脑]电脑面前的自我保护
- c++游戏服务器框架
- 黑客入侵电脑?原来只需要简单几步就可以了
- Vin码/车架号扫描识别sdk技术