算法提高 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. git使用-忽略文件更新的几种方法

    有几种情况我们不希望本地文件在 git 里面得到更新. 一.情况:始终不需要git跟踪本地的一些文件 方法:使用.gitignore文件忽略 解释: 使用git init操作创建git控制管理之后,默 ...

  2. vue路由元之进入路由需要用户登录权限功能

    为什么需要路由元呢??? 博猪最近开发刚刚好遇到一个情况,就是有个路由页面里面包含了客户的信息,客户想进这个路由页面的话, 就可以通过请求数据获取该信息,但是如果客户没有登录的话,是不能进到该页面的, ...

  3. String的正则函数

    String的正则函数: 查找敏感词: 4种情况 1. 查找一个固定的敏感词的位置i: var i=str.indexOf("敏感词",fromi) 在str中,从fromi位置开 ...

  4. 05 返回静态文件的多线程web框架

    05 返回静态文件的多线程web框架 服务器server端python程序(多线程版): import socket from threading import Thread,currentThrea ...

  5. 如何将你的node服务放到线上服务器

    最近在用node写后端数据处理,以前虽然也用node写数据来进行测试,但是一直都是处于本地使用, 今天想将node作为后端服务来处理数据, 特此,以此博客记录. 第一步,写node 接口, 在本地我们 ...

  6. Oracle备份与恢复详解

    http://www.360doc.com/content/10/1015/15/3267996_61218717.shtml --------摘自 360doc 为了能有效地备份和恢复数据库,建议大 ...

  7. 欧拉函数 BZOJ2705

    2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 3154  Solved: 1968[Submit][ ...

  8. ASP.NET Core on K8S学习之旅(14)Ingress灰度发布

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 之前一篇介绍了Ingress的基本概念和Nginx Ingress的基本配置和 ...

  9. IDEA奇淫小技巧

    IDEA是目前市场上最好用的IDE,我说的! 前几年eclipse在市场上非常流行,因此大多数人都习惯了eclipse的一些快捷键.近年来,随着IDEA的兴起,很多人都放弃了exlipse,进而选择了 ...

  10. 不可不知的 7 个 JDK 命令

    这篇文章主要来介绍下 JDK 内置的命令,话不多说,让我们开始吧! javap 使用 javap 可以查看 Java 字节码反编译的源文件,javap 的命令格式如下: 下面来演示下用 javap - ...