简单的复数运算(类和对象)

Time Limit: 2000 ms Memory Limit: 65536 KiB

Problem Description

设计一个类Complex,用于封装对复数的下列操作:

成员变量:实部real,虚部image,均为整数变量;

构造方法:无参构造方法、有参构造方法(参数2个)

成员方法:含两个复数的加、减、乘操作。

  • 复数相加举例: (1+2i)+(3+4i)= 4 + 6i

  • 复数相减举例: (1+2i)-(3+4i)= -2 - 2i

  • 复数相乘举例: (1+2i)*(3+4i)= -5 + 10i

要求:对复数进行连环运算。

Input

输入有多行。

第一行有两个整数,代表复数X的实部和虚部。

后续各行的第一个和第二个数表示复数Y的实部和虚部,第三个数表示操作符op: 1——复数X和Y相加;2——复数X和Y相减;3——复数X和Y相乘。

当输入0 0 0时,结束运算,输出结果。

Output

输出一行。

第一行有两个整数,代表复数的实部和虚部。

Sample Input

1 1

3 4 2

5 2 1

2 -1 3

0 2 2

0 0 0

Sample Output

5 -7

import java.util.*;
public class Main { public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
shu a,b;
a = new shu(cin.nextInt(),cin.nextInt());
int x,y,z;
while(cin.hasNext())
{
x = cin.nextInt();
y = cin.nextInt();
z = cin.nextInt();
if(x==0&&y==0&&z==0)
break;
b = new shu(x,y);
if(z==1)
a.jia(b);
else if(z==2)
a.jian(b);
else if(z==3)
a.cheng(b);
//System.out.println(a.a+" "+a.b);
}
System.out.println(a.a+" "+a.b);
cin.close();
}
} class shu
{
int a,b;
shu(int a,int b)
{
this.a = a;
this.b = b;
}
void jia(shu b)
{
this.a += b.a;
this.b += b.b;
}
void jian(shu b)
{
this.a -= b.a;
this.b -= b.b;
}
void cheng(shu b)
{
int x,y;
x = this.a * b.a - this.b * b.b;
y = this.a * b.b + this.b * b.a;
this.a = x;
this.b = y;
}
}

Java练习 SDUT-4303_简单的复数运算(类和对象)的更多相关文章

  1. Java I/O最简单的几个类

    今天把I/O中最简单的几个类整理了一下,之所以整理最简单的,是因为这样会让我更加快速方便的理顺这里面的东西,以前每一次用的时候都要先百度一下,觉得很烦. 首先需要先看一下Read,Write和Stre ...

  2. Java精选笔记_面向对象(慨念、类和对象)

    面向对象概念 在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象. 相对于面向过程而言.是一种思想,强调的是功能的对象. 面向对象的本质:以类的方式组织代码, ...

  3. Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法

    面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...

  4. 如何讲清楚 Java 面向对象的问题与知识?(类与对象,封装,继承,多态,接口,内部类...)

    写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...

  5. 《JAVA程序设计与实例》记录与归纳--类与对象

    类与对象 概念贴士: 1. 类必须先定义了才能使用.类是创建对象的模板,创建对象也叫类的实例化. 2. 在Java中,使用new关键字来创建对象,一般有一下3个步骤: 1)声   明:声明一个对象,包 ...

  6. Java基础知识笔记第四章:类和对象

      编程语言的几个发展阶段 面向机器语言 面向过程语言 面向对象语言:封装.继承.多态 类 类声明 class Person{ ....... } class 植物{ ....... } 类体 类使用 ...

  7. java总结第二次(剩余内容)//类和对象1

    7.成员变量和局部变量 成员变量:在类中定义,用来描述对象将要有什么 局部变量:在类的方法中定义,在方法中保存临时数据 区别:作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类内 ...

  8. Java编译时根据调用该方法的类或对象所属的类决定

    class Base{     int x = 1;     static int y = 2; } class Subclass extends Base{     int x = 4;     i ...

  9. Java知识系统回顾整理01基础07类和对象01引用

    一.引用的定义 引用的概念,如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用. 二.引用和指向 new Hero(); 代表创建了一个Hero对象 但是也仅仅是创建了一个对象,没有办法 ...

随机推荐

  1. git pull拉取远程分支时出现冲突

    现象:在git clone一个项目后,默认是master分支,但是如果想要切换到另一个已经存在的dev分支,那么不要先在本地创建dev分支再拉取远程的dev分支,而是应该直接切换到dev分支,然后再拉 ...

  2. 读书笔记--Head First JavaScript 目录

    1.交互式网络 2.存储数据 3.探索客户端 4.决策 5.循环 6.函数 7.表单与验证 8.驾驭网页 9.为数据带来生命 10.创建自定义对象 11.除错务尽 12.动态数据

  3. 网站被攻击扫描SQL注入的日常记录

    我发了个博客,泄露了域名之后,便有人疯狂的尝试攻击我的站点,奈何我防守做得比较好,直接把网段封了,看到403还锲而不舍,我真是想给他颁奖了 查看ua,发现很多sqlmap的ua,肯定会是被刷了,只是运 ...

  4. Vue. 之 npm安装 axios

    Vue. 之 npm安装 axios 使用指令: cnpm install axios 

  5. java-多线程的练习----妖,等待唤醒,代码重构,lock到condition

    1 需求 资源有姓名和性别. 两个线程,    一个负责给姓名和性别赋值,    一个负责获取姓名和性别的值. 要求1,运行一下,解决程序的 "妖"的问题. 要求2,实现正确数据的 ...

  6. MyBatis中动态加载where条件

    1.trim 2.where 1 = 1 where 1=1 <if test="beginDate !=null and beginDate !='' "> and ...

  7. 威胁快报|Nexus Repository Manager 3新漏洞已被用于挖矿木马传播,建议用户尽快修复

    背景 近日,阿里云安全监测到watchbog挖矿木马使用新曝光的Nexus Repository Manager 3远程代码执行漏洞(CVE-2019-7238)进行攻击并挖矿的事件. 值得注意的是, ...

  8. 模拟4题解 T3奇袭

    T3奇袭 题目描述 由于各种原因,桐人现在被困在Under World(以下简称UW)中,而UW马上 要迎来最终的压力测试——魔界入侵. 唯一一个神一般存在的Administrator被消灭了,靠原本 ...

  9. R语言分类算法之随机森林

    R语言分类算法之随机森林 1.原理分析: 随机森林是通过自助法(boot-strap)重采样技术,从原始训练样本集N中有放回地重复随机抽取k个样本生成新的训练集样本集合,然后根据自助样本集生成k个决策 ...

  10. oracle触发器级联删除

    create or replace trigger delete_trigger1 after delete on contracting_party for each row begin if de ...