1.定义复数类,包括实部和虚部变量、构造方法、 加减乘除方法、求绝对值方法和显示实部、虚部值的方法。 然后编写一个主类,在其主方法中通过定义两个复数对象来 显示每一个复数的实部值、虚部值和绝对值, 显示两个复数加减乘除结果。

package study;

public class demo1 {
public static void main(String[] args) throws Exception{
FuSu x=new FuSu(1,2);
FuSu y=new FuSu(3,4);
x.showa();
x.showb();
x.abs();
FuSu z1=FuSu.jia(x,y);
FuSu z2=FuSu.jian(x,y);
FuSu z3=FuSu.cheng(x,y);
FuSu z4=FuSu.chu(x,y);
System.out.println("jia:"+z1.a+"+"+z1.b+"i");
System.out.println("jia:"+z2.a+"+"+z2.b+"i");
System.out.println("jia:"+z3.a+"+"+z3.b+"i");
System.out.println("jia:"+z4.a+"+"+z4.b+"i");
}
} class FuSu{
protected int a;
protected int b;
public FuSu(int a,int b){
this.a=a;
this.b=b;
}
public static FuSu jia(FuSu x1,FuSu x2){
int a=x1.a+x2.a;
int b=x1.b+x2.b;
return new FuSu(a,b) ;
}
public static FuSu jian(FuSu x1,FuSu x2){
int a=x1.a-x2.a;
int b=x1.b-x2.b;
return new FuSu(a,b) ;
}
public static FuSu cheng(FuSu x1,FuSu x2){
int a=x1.a*x2.a-x1.b*x2.b;
int b=x1.a*x2.b+x1.b*x2.a;
return new FuSu(a,b);
}
public static FuSu chu(FuSu x1,FuSu x2) throws Exception{
if(x2.a==0){
throw new Exception("fusu2.a=0");
}
if(x2.b==0){
throw new Exception("fusu2.b=0");
}
int a=(x1.a*x2.a+x1.b*x2.b)/(x2.a*x2.a+x2.b*x2.b);
int b=(x1.b*x2.a-x1.a*x2.b)/(x2.a*x2.a+x2.b*x2.b);
return new FuSu(a,b);
}
public void showa(){
System.out.println(this.a);
}
public void showb(){
System.out.println(this.b);
}
public void abs(){
double x=Math.sqrt(this.a*this.a+this.b*this.b);
System.out.println(x);
}

【Java例题】2.1复数类的更多相关文章

  1. 定义一个复数(z=x+iy)类Complex,包含: 两个属性:实部x和虚部y 默认构造函数 Complex(),设置x=0,y=0 构造函数:Complex(int i,int j) 显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式。 求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Compl

    因标题框有限,题目未显示完整,以下再放一份: 定义一个复数(z=x+iy)类Complex,包含: 两个属性:实部x和虚部y 默认构造函数 Complex(),设置x=0,y=0 构造函数:Compl ...

  2. java 深入技术七(类的结构和反射)

    1.java反射(reflect) java 类的结构 java反射机制就是把java类按结构分解,每一部分对应特定的反射类 java反射机制允许运行时加载,探知和使用在编译期间完全未知的classe ...

  3. Java并发编程:Thread类的使用

    Java并发编程:Thread类的使用 在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知 ...

  4. java: Thread 和 runnable线程类

    java: Thread 和 runnable线程类 Java有2种实现线程的方法:Thread类,Runnable接口.(其实Thread本身就是Runnable的子类) Thread类,默认有ru ...

  5. [转]Java反射之如何判断类或变量、方法的修饰符(Modifier解析)

    Java针对类.成员变量.方法,有很多修饰符,例如public.private.static.final.synchronized.abstract等,这些修饰符用来控制访问权限或其他特性. 本文就用 ...

  6. Rhino+envjs-1.2.js 在java运行网站js 工具类

    java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...

  7. Java集合框架(常用类) JCF

    Java集合框架(常用类) JCF 为了实现某一目的或功能而预先设计好一系列封装好的具有继承关系或实现关系类的接口: 集合的由来: 特点:元素类型可以不同,集合长度可变,空间不固定: 管理集合类和接口 ...

  8. Java虚拟机JVM学习07 类的卸载机制

    Java虚拟机JVM学习07 类的卸载机制 类的生命周期 当Sample类被加载.连接和初始化后,它的生命周期就开始了. 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就 ...

  9. Java虚拟机JVM学习04 类的初始化

    Java虚拟机JVM学习04 类的初始化 类的初始化 在初始化阶段,Java虚拟机执行类的初始化语句,为类的静态变量赋予初始值. 在程序中,静态变量的初始化有两种途径: 1.在静态变量的声明处进行初始 ...

随机推荐

  1. Java中的反射(1)

    Reflection in Java 反射到底是什么呢,我被问到的时候其实也没办法很好的回答这个问题,翻一翻博客,然后逐条讲解.今天干脆就整合一下,免得以后还要去翻. 首先讲一下Java是如何在运行时 ...

  2. MySQL 全文索引实现简单版搜索引擎

    目录 前言 使用 三种类型的全文搜索方式 相关参数 测试innodb引擎使用全文索引 准备 使用默认方式创建全文索引 使用ngram分词解析器创建全文索引 结论 前言 只有Innodb和myisam存 ...

  3. Html自动播放音乐代码

    <audio id="bgmMusic" src="demo.mp3" autoplay="autoplay" loop=" ...

  4. Design Principles (设计原则)

    这是我在2018年4月写的英语演讲稿,可惜没人听得懂(实际上就没几个人在听). 文章的内容是我从此前做过的项目中总结出来的经验,从我们的寝室铃声入手,介绍了可扩展性.兼容性与可复用性等概念,最后提出良 ...

  5. VUE-CLI3.0脚手架安装

    文档:https://cli.vuejs.org/zh/guide/ 条件: npm 更至最新 node >=8.9 1.全局安装 npm install -g @vue/cli 或 yarn ...

  6. 【深入浅出-JVM】(6):栈帧.

    代码 package com.mousycoder.mycode.happy_jvm; /** * @version 1.0 * @author: mousycoder * @date: 2019-0 ...

  7. [记录]Shell并发模式批量安装saltstack的脚本

    SaltStack+Shell: salt-master的配置: #cat /etc/salt/master user: root auto_accept: True salt-minion的配置(支 ...

  8. nginx连接资源管理

    本文介绍在nginx中连接资源(即ngx_connection_t)的管理与使用. 连接池的初始化 在ngx_cycle_t结构体中维护了几个和连接相关的数据,具体如下 struct ngx_cycl ...

  9. ForkJoinPool分支/合并框架工程使用的工作窃取

    ForkJoinPool分支/合并框架 在必要的情况下,讲一个大任务,进行拆分(fork)成若干个小任务(拆到不可拆为止),再将一个个小的任务运算的结果进行join汇总. 工作窃取的背景 分支/合并框 ...

  10. Android之无限轮播图源代码

    Android轮播广告图是大家经常用到的一个控件今天便撸了一把代码 实现步骤 使用Viewpager进行实现图片滑动 设置ViewPager的数据,让其无限切换 Activity代码 public c ...