类和对象---复数,点坐标

实验要求:

一、实验目的:
掌握Java类的结构、类的定义、方法和属性的定义以及对象的实现;
掌握类及其成员修饰符的使用;掌握构造函数的使用;方法的参数传递和返回值的用法;
掌握类变量与实例变量,以及类方法与实例方法的区别。
三、    实验内容:
1.    定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标     show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。
2.    定义一个复数(z=x+iy)类Complex,包含:
 两个属性:实部x和虚部y
 默认构造函数 Complex(),设置x=0,y=0
 构造函数:Complex(int i,int j)
显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式。
求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Complex C1,Complex C2)
 求两个复数的差的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex subComp(Complex C1,Complex C2)
求两个复数的乘积的方法:(参数是两个复数类对象,返回值是复数类对象,新复数实部=两复数实部乘积-两复数虚部乘积,新复数虚部=两复数实部与虚部交叉乘积之和,)public Complex multiComp(Complex C1,Complex C2)
比较两个复数是否相等的方法(参数是两个复数类对象,返回值是boolean类型)public boolean equalComp(Complex C1,Complex C2)
 在Application中测试该类的方法,实部x和虚部y可由main方法参数提供输入。
三、实验要求:
1. 正确地定义类、方法和属性;
2. 学会方法的参数传递和返回值的用法;
3. 熟练使用类及其成员修饰符
4.使用构造函数创建类的对象;
5. 类变量与实例变量,以及类方法与实例方法的使用
6.程序应包括各个被调用方法的执行结果的显示。
7.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。
四、实验步骤:
1. (第1题) 定义类Point及它的属性、方法和构造函数,定义主类和main(),在main()方法中创建两个坐标对象,,并通过对象调用getMiddle方法后得到一个新的点坐标,调用show()显示该对象的坐标值。
2. (第2题)定义一个复数(z=x+iy)类Complex,及它的属性、方法和构造函数;定义主类和main()方法,在main()方法中创建两个复数类Complex对象,并通过复数类对象调用它们的属性和方法,输出方法执行结果。

复数

package 复数;

class Complex{
    public int x;
    public int y;

    public Complex(){
        this.x = 0;
        this.y = 0;
    }

    public Complex(int x, int y){
        this.x = x;
        this.y = y;
    }

    public void showComp(){
        if(this.y !=0){
            if(this.y > 0){
                System.out.println(this.x + "+" + this.y + "i");
            }
            else{
                System.out.println(this.x + "-" + this.y + "i");
            }
        }
        else{
                System.out.println(this.x);
        }
    }

    public Complex addComp(Complex C1,Complex C2){
        Complex re = new Complex();
        re.x = C1.x+C2.x;
        re.y = C1.y+C2.y;
        re.showComp();
        return re;

        //return new Complex(C1.x+C2.x, C1.y+C2.y);
    }

    public Complex sulComp(Complex C1,Complex C2){
        Complex re = new Complex();
        re.x = C1.x - C2.x;
        re.y = C1.y - C2.y;
        re.showComp();
        return re;
        // return new Complex(C1.x-C2.x, C1.y-C2.y);
    }

    public Complex multiComp(Complex C1,Complex C2){
        Complex re = new Complex();
        re.x = (C1.x * C2.x - C1.y * C2.y);
        re.y = (C1.x * C2.y + C1.y * C2.x);
        re.showComp();
        return re;
        //return new Complex((C1.x * C2.x - C1.y * C2.y) , (C1.x * C2.y + C1.y * C2.x));
    }

    public boolean equalComp(Complex C1,Complex C2){
        if(C1.equals(C2)){
            System.out.println("相等");
            return true;
        }
        return false;
    }
}

public class Fushu {
    public static void main(String[] args){
        Complex num1 = new Complex(3, 5);
        Complex num2 = new Complex(7, 8);
        Complex num3 = new Complex();

        num1.showComp();
        num2.showComp();

        num3.addComp(num1, num2);
        num3.sulComp(num1, num2);
        num3.multiComp(num1, num2);
        num3.equalComp(num1, num2);
    }
}

点坐标

package oo;

class Point{
    public int x;
    public int y;
    public void show(){
        System.out.println(this.x + ","+ this.y);
    }

    public Point(int x, int y){
        this.x = x;
        this.y = y;
    }
}

class Application{
    public void getMiddle(Point point1, Point point2){
        double mid_x = (point1.x + point2.x) / 2.0;
        double mid_y = (point1.y + point2.y) / 2.0;
        System.out.println(mid_x + "," + mid_y);
    }
}

public class OO {
    public static void main(String [] args){
        Point a1 = new Point(2, 5);
        Point a2 = new Point(7, 8);

        Application app = new Application();

        app.getMiddle(a1, a2);

    }
}
时间: 2024-10-10 09:35:33

类和对象---复数,点坐标的相关文章

C++类与对象实验(六)

题: 1. 设计描述平面坐标上的点CPoint类,该类满足下述要求: •具有x,y坐标信息: •具有带默认形参值的构造函数,参数分别用于初始化x和y坐标信息: •具有获取x.y信息的GetX和GetY函数,具有设置x.y信息的SetX和SetY函数: 2. 设计一个矩形类CRectangle,该类满足下述要求: •具有矩形的左下角和右上角两个点的坐标信息,这两个点的数据类型是CPoint: •具有带参数的构造函数CRectangle(const CPoint &, const CPoint &am

C++ 第4章 类与对象

4.1 面向对象程序设计的基本特点 4.4.1 抽象 抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程.首先注意的是问题的本质及描述,其次是解决问题的具体过程对一个问题的抽象应该包括两个方面:数据抽象和行为抽象(或称为功能抽象.代码抽象) 数据抽象:描述某类对象的属性或状态(对象相互区别的物理量). 代码抽象:描述某类对象的共有的行为特征或具有的功能. 抽象的实现:通过类的声明抽象实例——钟表 数据抽象: int Hour, int Minute, int Second

UNITY 复制对象后局部坐标和世界坐标的变化问题

void Start () { var pgo = transform.Find ("Button").gameObject; obtn = Instantiate (pgo); //obtn = Instantiate (pgo, pgo.transform.Parent);         var pos = obtn.transform.position; //obtn.transform.localPosition = Vector3.zero; Debug.LogFormat

Java 第七章 类和对象 笔记

一.对象的特征--类的属性 每个对象的每个属性都有特定的值 对象的操作--类的方法 二.封装:对象同时具有属性和方法两项特性.     对象的属性和方法通常被封装在一起,共同体现事物的特性,     二者相辅相成,不能分割. 三.类和对象的区别:     类:抽象的概念,是一个模子,确定了对象的属性和方法.    对象:能够看得见摸得着的实物.具有静态和动态特征. 四.定义类的步骤:     1.定义类名      2.定义类的属性 访问修饰符 属性类型 属性名称=默认值:     3.定义类的

类与对象

1.1 类和对象的关系   为什么要采用面向对象思想进行程序设计与开发 1.可以实现代码的复用 2.符合人思考的方式   类和对象的定义 1.类的定义:用class关键修饰的叫做类 2.对象的定义:类名定义的数据类型   类和对象之间关系 1.由对象归纳为类,是归纳对象共性的过程 2.在类的基础上,将状态和行为实体化为对象的过程为实例化   1.2 定义类   定义类的语法,类主要由成员变量和成员方法构成(暂不提构造函数) eg: publicclassStudent { //成员变量 intn

【编程语言】Java中的类和对象learn by Imooc

 一.什么是类和对象 * 类是模子,确定对象将会拥有的特征(属性)和方法 * 类的特点: *     类是对象的类型 *     具有相同属性和方法的一组对象的集合 * 对象的属性 *     属性-对象具有的各种特征 *     每个对象的每个属性都有用的特定值 * 对象的方法 *     方法-对象执行的操作(能干什么) * 类和对象的关系 *     类是抽象的概念,仅仅是模板 *     对象是一个你能够看得到,摸得着的具体实体 二. 如何定义Java的类 * 1.类的重要性:所有Jav

C++ 成员变量是别的类的对象

?在成员函数中,可以将this指针当参数传递,也可以返回this指针,或返回通过this指针拿到的对象 /* 成员变量是别的类的对象 */ #include <iostream> using namespace std; //日期类 class Date { int year,month,day; public: //构造方法 Date(){ cout << "Date() " << endl; } //有参 Date(int _y,int _m,i

l类与对象课后作业

java 的初始化规律 执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”. 执行类的构造函数. 类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行.因此,适合于封装那些“对象创建时必须执行的代码” 当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行. 请自行编写示例代码验证以上结论. public class InitializeBlockDemo { /**   * @param args   */ public static vo

第五节 类和对象

面向对象怎么理解? 1.1 面向对象是相对面向过程而言 1.2 面向对象和面向过程都是一种思想 1.3 面向过程:强调的是功能行为 1.4 面向对象:将功能封装进对象,强调具备了功能的对象 1.5 面向对象是基于面向过程的 特点: 三个特征:封装.继承.多态 我们在开发过程中,就是在找对象进行使用,没有对象就new一个对象. 找对象:建立对象,使用对象,维护对象的关系 封装: (1)是指隐藏对象的属性和实现细节,仅对外提供公共访问方式. (2)好处:将变化隔离:便于使用:提供重用性:提高安全性