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实现复数运算的更多相关文章

  1. 算法笔记_047:复数运算(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 编程实现两个复数的运算.设有两个复数 和 ,则他们的运算公式为: 要求:(1)定义一个结构体类型来描述复数. (2)复数之间的加法.减法.乘法和除法 ...

  2. Java编写能完成复数运算的程序

    Java编写能完成复数运算的程序 题目简介: 整体分析: 界面分析: 实验代码: package complex; import java.awt.EventQueue; import javax.s ...

  3. Java练习 SDUT-4303_简单的复数运算(类和对象)

    简单的复数运算(类和对象) Time Limit: 2000 ms Memory Limit: 65536 KiB Problem Description 设计一个类Complex,用于封装对复数的下 ...

  4. c++复习一:复数运算的简单实现。

    复数运算的简单实现. 程序很简单了.基本忘光了复数,重新了解了基本概念.如何在平面表示一个复数,复数的长度|x|=开根 a^2+b^2.和四则运算. 程序基本点: 封装和抽象: 1)封装成员数据,私有 ...

  5. Java的位运算 待整理

    位运算:二进制运算 Java的异或运算^ 真^假=真 假^真=真 假^假=假 真^真= 假,这四个是在网上copy的例子,真是1,假是0 但它却是说明了Java异或运算的基本法则,那就是:只要两个条件 ...

  6. 一些复数运算的C语言实现

    很久不写博客了.第一次写博客是在04年,最近的一次还是在大学时,在学校时,甚至还有过自己去买虚拟主机搭WordPress写博客的经历.现在工作时间越长,越发现积累的重要性.那么就从这里开始吧,重新开始 ...

  7. C语言中复数运算及调用blas,lapack中复数函数进行科学计算

    C语言中常用的数据类型主要int, float ,double ,char 等,但在科学运算中复数扮演着重要角色.这里讲下C语言中的复数运算以及如何调用blas,lapack库中的复数函数来进行科学计 ...

  8. java 取模运算% 实则取余 简述 例子 应用在数据库分库分表

    java 取模运算%  实则取余 简述 例子 应用在数据库分库分表 取模运算 求模运算与求余运算不同.“模”是“Mod”的音译,模运算多应用于程序编写中. Mod的含义为求余.模运算在数论和程序设计中 ...

  9. Java之整数运算

    Java的整数运算遵循四则运算规则,可以使用任意嵌套的小括号.四则运算规则和初等数学一致.例如: public class Main { public static void main(String[ ...

随机推荐

  1. [hdu4609]计数方法,FFT

    题目:给一个数组a,从里面任选三个数,求以这三个数为三条边能构成三角形的概率. 思路:由于每个数只能用一次,所以考虑枚举三边中的最大边.先将a数组排序,然后枚举它的每个数x作为最大边,那么问题就是要求 ...

  2. 安卓APP承载网页(WebView)

    安卓APP自身如何打开网页,如何制作一个简单的浏览器,WebView在其中将是一个重要的角色.WebView是一个基于WebKit引擎.展现Web页面的控件. Webview 是一个基于webkit引 ...

  3. 2018-06-17 js数组

    数组的定义:① var arr=new Array(xx,xx,xx); ②var arr=[yy,yy,,yy]; 数组的查看:arr[x]; 数组的修改:arr[x]=xx; 数组的遍历:①for ...

  4. JavaWeb学习之JSP(二) JSP标签

    JSP常用标签 什么是JSP标签 JSP标签,有的地方也叫做JSP动作,在JSP中编写大量的java代码会使JSP页面显得杂乱无章,看起来非常不舒服,因此JSP提供了一些类似html的标签,通过这些标 ...

  5. ORACLE 统计文件后缀SQL

    ORACLE 统计文件后缀SQL查询语句 select lower(substr(file_name,instr(file_name, '.', -1),length(file_name))),cou ...

  6. 【Leetcode】164. Maximum Gap 【基数排序】

    Given an unsorted array, find the maximum difference between the successive elements in its sorted f ...

  7. 00001- layui 表格的默认工具栏添加自定义按钮

    首先定义table: var tableIns = table.render({ elem:'#businessUserListTable' ,url: ctx+'/business/business ...

  8. 系列13 docker asp.net core部署

    一.介绍   本篇完整介绍asp.net core web api如何部署到docker容器中,并通过外部访问web api服务.在编写完成dockerfile之后,可以通过docker [image ...

  9. flask之session

    ''' session使用: session创建: (1)导入session from flask import session (2)设置secret_key密钥 app.secret_key='s ...

  10. docker 学习(一)

    1. docker介绍 1)docker的出现 Docker是诞生于2013年,是dotCloud的一个开源项目,基于Google推出的GO语言实现.遵从Apache2.0协议. 2)docker介绍 ...