算法提高 6-17复数四则运算

时间限制:1.0s 内存限制:512.0MB

提交此题

  设计复数库,实现基本的复数加减乘除运算。

  输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔;输出时按a+bi的格式在屏幕上打印结果。参加样例输入和样例输出。

  注意考虑特殊情况,无法计算时输出字符串"error"。

样例输入

2 4 * -3 2

样例输出

-14-8i

样例输入

3 -2 + -1 3

样例输出

2+1i

import java.util.Scanner;

public class 复数四则运算 {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
double a1 = reader.nextDouble();
// System.out.println(Math.round(a1));//取double的整数部分
double b1 = reader.nextDouble();
String str = reader.next();
double a2 = reader.nextDouble();
double b2 = reader.nextDouble(); double a = 0;
double b = 0;
boolean flag = true; if (str.equals("+")) {
a = a1 + a2;
b = b1 + b2;
} else if (str.equals("-")) {
a = a1 - a2;
b = b1 - b2;
} else if (str.equals("*")) {
if ((a1 == a2) && (b1 == -b2)) {
System.out.println(a1 * a1 + b1 * b1);
} else {
a = a1 * a2 - b1 * b2;
b = a1 * b2 + b1 * a2;
}
} else if (str.equals("/")) { if (a2 == 0 && b2 == 0) {//无法计算时输出字符串"error"
System.out.println("error");
flag = false;
} else {
double c = a2 * a2 + b2 * b2;
a = (a1 * a2 + b1 * b2) / c; //此题做除法要用double
b = (b1 * a2 - a1 * b2) / c;
}
}
if (flag) { if (b < 0) { //虚部为负
if ((a - Math.round(a)) == 0) {//如果a=3.0
System.out.print(Math.round(a));//只输出整数部分,3
} else {
System.out.print(a);//如果a=3.1,则输出3.1
}
if ((b - Math.round(b)) == 0) {
System.out.print(Math.round(b));
} else {
System.out.print(b);
}
} else { //虚部为正
if ((a - Math.round(a)) == 0) {
System.out.print(Math.round(a));
} else {
System.out.print(a);
}
System.out.print("+");
if ((b - Math.round(b)) == 0) {
System.out.print(Math.round(b));
} else {
System.out.print(b);
}
}
System.out.println("i");
}
} }

Java实现 蓝桥杯 算法提高 复数四则运算的更多相关文章

  1. Java实现 蓝桥杯 算法提高 进攻策略加强(暴力)

    试题 算法提高 进攻策略加强 问题描述 植物大战僵尸这款游戏中,还有一个特别的玩儿法:玩家操纵僵尸进攻植物. 首先,僵尸有m种(每种僵尸都是无限多的),玩家可以选择合适的僵尸来进攻.使用第i种僵尸需要 ...

  2. Java实现 蓝桥杯 算法提高 小X的购物计划

    试题 算法提高 小X的购物计划 问题描述 小X打算去超市shopping.小X没什么钱,只有N元.超市里有M种物品,每种物品都需要money,在小X心中有一个重要度.有的物品有无限件,有的物品只有几件 ...

  3. Java实现 蓝桥杯 算法提高 天天向上(DP)

    试题 算法提高 天天向上 问题描述 A同学的学习成绩十分不稳定,于是老师对他说:"只要你连续4天成绩有进步,那我就奖励给你一朵小红花."可是这对于A同学太困难了.于是,老师对他放宽 ...

  4. Java实现 蓝桥杯 算法提高 欧拉函数(数学)

    试题 算法提高 欧拉函数 问题描述 老师出了一道难题,小酱不会做,请你编个程序帮帮他,奖金一瓶酱油: 从1-n中有多少个数与n互质? |||||╭══╮ ┌═════┐ ╭╯让路║═║酱油专用车║ ╰ ...

  5. Java实现 蓝桥杯 算法提高 计算超阶乘(暴力)

    试题 算法提高 计算超阶乘 问题描述 计算1*(1+k)(1+2k)(1+3k)-(1+n*k-k)的末尾有多少个0,最后一位非0位是多少. 输入格式 输入的第一行包含两个整数n, k. 输出格式 输 ...

  6. Java实现蓝桥杯 算法提高 线段和点

    算法提高 线段和点 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 有n个点和m个区间,点和区间的端点全部是整数,对于点a和区间[b,c],若a>=b且a<=c,称点a满 ...

  7. Java实现蓝桥杯-算法提高 P1003

    算法提高 P1003 时间限制:1.0s 内存限制:256.0MB 作为一名网络警察,你的任务是监视电子邮件,看其中是否有一些敏感的关键词.不过,有些狡猾的犯罪嫌疑人会改变某些单词的字母顺序,以逃避检 ...

  8. Java实现蓝桥杯 算法提高 八皇后 改

    **算法提高 8皇后·改** 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大. 输入格式 一个8*8的棋 ...

  9. Java实现 蓝桥杯 算法提高 高精度减法(JDK方法)

    试题 算法提高 高精度减法 问题描述 高精度减法 输入格式 两行,表示两个非负整数a.b,且有a > b. 输出格式 一行,表示a与b的差 样例输入 1234567890987654321 99 ...

随机推荐

  1. 设计模式之GOF23状态模式

    状态模式state 场景:当具有许多状态并且需要频繁改变时,用这种模式 -电梯的运行:维修,正常,自动关门,自动开门,向上运行,向下运行,消防状态 -红绿灯:红灯,黄灯,绿灯 -企业或政府系统:公文的 ...

  2. CODING 敏捷实战系列课第四讲:从头搭建持续集成 DevOps 流水线

    <从头搭建持续集成 DevOps 流水线>由资深敏捷教练.极限编程学院高级讲师.CODING 特邀敏捷顾问李小波老师主讲,将基于 CODING 展示如何编写 Jenkinsfile 搭建 ...

  3. android 动态设置TextView值,例:金额增加

    一说到动态递增设置TextView值,很多人应该马上就想到起个线程,让后在线程中睡眠指定时间,使用handler发送消息更新TextView值! 这样是实现了动态递增设置TextView值但是效率不咋 ...

  4. django 两种创建模型实例的方法

    1. 添加一个classmethod from django.db import models class Book(models.Model): title = models.CharField(m ...

  5. webpack指南(六)命令行环境配置

    webpack 命令行环境配置中,通过设置 --env 可以使你根据需要,传入尽可能多的环境变量.在 webpack.config.js 文件中可以访问到这些环境变量. webpack --env.N ...

  6. css3弹性布局

    二.弹性布局(重点******************************************) 1.什么是弹性布局 弹性布局,是一种布局方式. 主要解决的是某个元素中子元素的布局方式 让页面 ...

  7. [A*算法]基于Unity实现A*算法(二)

    写在前面:上一篇当时是非常简单的了解一下A*,昨天还有一些问题没解决,就暂时把自己查阅的文坛摘抄了过来(毕竟人家写的比我要好的多 :> ) 今天终于解决了,就又写了这一篇,正好我自己再梳理一遍, ...

  8. python3.x 基础五:模块

    1.定义 模块:本质是.py结尾的python文件,从逻辑上组织python代码,可以是变量,函数,类,逻辑,目的是实现一个功能,test.py 对应模块名:test 包:从逻辑上组织模块的,本质就是 ...

  9. 猜想-未做 利用office组件读取excel数据

    ---未实际使用过 用SQL-Server访问Office的Access和Excel http://blog.sina.com.cn/s/blog_964237ea0101532x.html 2007 ...

  10. 马兴德201771010117《面向对象程序设计(java)》第一周学习总结

    第一部分:课程准备部分 填写课程学习 平台注册账号, 平台名称 注册账号 博客园:www.cnblogs.com 挽歌朽年 程序设计评测:https://pintia.cn/ 791683057@qq ...