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

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. Hadoop 集群的建立与安装

  2. 嘴巴题3 「BZOJ1412」[ZJOI2009] 狼和羊的故事

    「BZOJ1412」[ZJOI2009] 狼和羊的故事 Description "狼爱上羊啊爱的疯狂,谁让他们真爱了一场:狼爱上羊啊并不荒唐,他们说有爱就有方向......" Or ...

  3. Django项目:CRM(客户关系管理系统)--53--44PerfectCRM实现账号快速注册登陆

    # gbacc_ajax_urls.py # ————————42PerfectCRM实现AJAX全局账号注册———————— from django.conf.urls import url fro ...

  4. SmartSQL

  5. 如何在linux中部署mongodb并设置连接认证

    在windows上给mongodb设置连接认证权限:mongodb默认是不认证的,默认没有账号,现在就讲讲怎么设置账户和密码 1.首先进入C:\mongodb\bin下面双击运行mongo.exe启动 ...

  6. 异步 I/O 和事件驱动

    异步IO(asynchronous I/O) 首先来理解几个容易混淆的概念,阻塞IO(blocking I/O)和非阻塞IO(non-blocking I/O),同步IO(synchronous I/ ...

  7. 让footer始终待在页面底部

    1.把html和body的height属性设为100%;保证content的高度能撑满浏览器; 2.把#content的高度也设置为100% ,但是这里我们使用了“min-height”属性,而不是的 ...

  8. 模板方法(Template Method)(父类声明算法骨架,子类具体不同实现)

    在阎宏博士的<JAVA与模式>一书中开头是这样描述模板方法(Template Method)模式的: 模板方法模式是类的行为模式.准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式 ...

  9. 【洛谷P2907】 【USACO08OPEN】农场周围的道路 水模拟分治

    P2907 [USACO08OPEN]农场周围的道路Roads Around The Farm 题目描述 Farmer John's cows have taken an interest in ex ...

  10. Django项目:CRM(客户关系管理系统)--11--04PerfectCRM实现King_admin注册功能03

    #base_admin.py #Django admin 注册功能的形式 # sites = { # 'crm':{ # 'customers':CustomerAdmin, # 'customerf ...