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实现复数运算相关推荐

  1. java声明复数类_JAVA声明复数类

    声明复数类,成员变量包括实部和虚部,成员方法包括实现由字符串构造复数.复数加法.减法,字符串描述.比较相等等操作. 虽然我只是一个刚学一个月JAVA的菜鸡,但是强迫症让我把复数乘法和除法一起写出来了. ...

  2. Java计算器接口策略_Java 基础 接口 ——运算

    利用接口做参数,写个计算器,能完成+-*/运算 (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 (3 ...

  3. java完善四则计算器_java 四则混合运算 计算器

    public class Counter { /**用递归算法,把括号内的公式算出然后递归 * @param args */ public static void calculator (String ...

  4. java程序设计复数运算_Java实现复数运算

    <Java实现复数运算>由会员分享,可在线阅读,更多相关<Java实现复数运算(2页珍藏版)>请在人人文库网上搜索. 1.定义一个复数类complex,它的内部具有两个实例变量 ...

  5. 第九届蓝桥杯 Java B组 第三题 复数幂 (详解)

    蓝桥杯 加油 (ง •_•)ง 标题:复数幂 设i为虚数单位.对于任意正整数n,(2+3i)^n 的实部和虚部都是整数. 求 (2+3i)^123456 等于多少? 即(2+3i)的123456次幂, ...

  6. python定义一个复数类complex、并实现复数相加_用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加、减运算...

    题目: 用java定义一个复数类Complex,能够创建复数对象,并且实现复数之间的加.减运算 复数具有实部和虚部两部分,如2+5i就是一个复数,其中2为实部,5i为虚部;两复数相加时,实部与实部相加 ...

  7. java中复数类中相加,复数运算的JAVA类

    //这个类表示复数,定义了执行复数运算的方法. public class ComplexNumber { private double x, y; //初始化X和Y的构造函数 public Compl ...

  8. java实验报告二_java实验报告二

    北京电子科技学院(BESTI) 实验报告 课程:java程序设计                        班级:1351             姓名:陈民禾      学号:20135124 ...

  9. python复数类型转换_Python程序设计——复数运算(包括极坐标转换)

    笔者本身是电气工程及其自动化专业出身,在平时的工作学习过程中,经常需要进行复数的运算以及矩阵相关的运算,但是奈何我实在是用不习惯matlab,一方面,matlab软件动辄十几个G这么大:另一方面,并且 ...

最新文章

  1. 小工匠聊架构-超高并发秒杀系统设计 04_流量削峰设计
  2. Institute for Manufacturing virtual check in part 1
  3. KDD Cup 2021:时间序列异常检测问题开源方案
  4. 联想拯救者y空间兑换代码_十代酷睿全面升级 拯救者Y7000P 2020产品解读
  5. 第三天 css核心属性
  6. mybatis中因为不理解$与#而出现的bug
  7. 为什么耗资数亿的12306一直都非常难用?
  8. 非同步DCDC的工作模式(CCM、DCM和BCM)
  9. LightOJ - 1341 Aladdin and the Flying Carpet 唯一分解定理
  10. Linux(centos)增加账户内存(Resource temporarily unavailable问题)
  11. 深度学习方法实现红外图片中人物动作识别
  12. js小学生图区_多种方式实现js图片预览
  13. 如何解决WIN11系统在安装HyperV虚拟机,网络桥接后网络上传慢的问题
  14. 《linux多线程服务端编程》---- C++基础前奏
  15. 删除Excel数据中的空格
  16. xshell调用js脚本开发
  17. [电脑]电脑面前的自我保护
  18. c++游戏服务器框架
  19. 黑客入侵电脑?原来只需要简单几步就可以了
  20. Vin码/车架号扫描识别sdk技术

热门文章

  1. C语言无符号有符号比较问题总结
  2. 【0基础学java】教学日志:javaSE-面向对象6-面向对象前4章上机作业点评,主要涉及继承、封装、多态三个章节的内容
  3. 计算机网络学习笔记(详尽版)
  4. [CodeM美团比赛] 优惠券
  5. TypeScript基础+进阶
  6. 5G来了,室内该如何覆盖?
  7. 1646. Prime Path
  8. openlayers绘制自定义点线面样式,带清除功能Vue版
  9. keepalived配置,解决vip无法ping通,虚拟服务器端口无法访问的问题
  10. 快速排序——寻找数组第K大数(由浅入深,四种方法对比讲解!)