深圳大学-Java程序设计实验-类的初级应用

实验目的

初步掌握面向对象编程中类的编写。

实验内容

运行第4章课件中第3页、第24页、第38页和第40页中的四个程序,并对每一行语句加上注释。在报告中附上程序截图、运行结果截图和简要的文字说明。

第4页中的程序:
程序截图:
在这里插入图片描述
运行结果截图:
在这里插入图片描述
简要文字说明:
该代码通过创建Circle类的对象,设置圆的半径并计算其面积,并将结果打印输出。

第24页中的程序:
程序截图:
在这里插入图片描述
在这里插入图片描述
运行结果截图:
在这里插入图片描述
简要文字说明:
代码演示了如何使用一个梯形类来创建梯形对象,设置梯形的属性,计算梯形的面积并输出结果。

第38页中的程序:
程序截图:
在这里插入图片描述
在这里插入图片描述
运行结果截图:
在这里插入图片描述简要文字说明:
该代码展示了如何使用静态变量和实例变量来表示梯形的上底、下底和高度,并通过对象方法进行设置和获取。

第40页中的程序:
程序截图:
在这里插入图片描述运行结果截图:
在这里插入图片描述
简要文字说明:
该代码展示了如何定义和使用实例常量和静态常量。实例常量需要通过对象实例访问,而静态常量可以直接通过类名访问。

编写一个Student类。类中包含以下成员变量:name(姓名)、stuID(学号)、class(班级)和course(主修的课程)。定义对应的方法对这几个成员变量的值进行设置和读取
(i)在Student类外的main方法里面,创建该类的一个对象,并调用各个方法,展示相应的效果。
程序截图:
在这里插入图片描述
在这里插入图片描述
运行结果截图:
在这里插入图片描述
简要文字说明:
这段代码编写了一个Student类。类中包含以下成员变量:name(姓名)、stuID(学号)、className(班级)和course(主修的课程)。设置了对这四个变量的设置和获取方法,并在Student类外的main方法里面,创建了该类的一个对象,并调用各个方法,展示了相应的效果。

(ii)在Student类内的main方法里面,创建该类的一个对象,并调用各个方法,展示相应的效果。在报告中附上程序截图、运行结果截图和简要的文字说明。
程序截图:
在这里插入图片描述
在这里插入图片描述
运行结果截图:
在这里插入图片描述
简要的文字说明:
这段代码编写了一个Student类。类中包含以下成员变量:name(姓名)、stuID(学号)、className(班级)和course(主修的课程)。设置了对这四个变量的设置和获取方法,并在Student类内的main方法里面,创建了该类的一个对象,并调用各个方法,展示了相应的效果。

编写一个队列类Queue,用来存储byte型数据,队列中的数据是先进先出的。具体要求如下:成员变量byte [] elements用来存储byte型数据;成员变量short size用来表示存储的byte型数据的个数;构造方法Queue在初始化队列的时候,设置队列的容量为16;方法enqueue(byte v)用来往队列中添加一个byte型数据;方法dequeue()用从队列中删除并返回一个byte型数据;方法getSize()用来返回队列的大小。在报告中附上程序截图、运行结果截图和详细的文字说明。

程序截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果截图:
在这里插入图片描述
详细的文字说明:

Deque类具有三个成员变量,一个是存储byte类型的数组elements,一个是队列大小,一个是队列容量。成员变量byte [] elements用来存储byte型数据;成员变量short size用来表示存储的byte型数据的个数;成员变量capacity用来表示队列容量大小;构造方法Queue在初始化队列的时候,设置队列的容量为16;方法enqueue(byte v)用来往队列中添加一个byte型数据,当队列已满时,会报错;方法dequeue()用从队列中删除并返回一个byte型数据,当队列已空时,会报错;方法getSize()用于返回队列元素的个数;方法print()用于打印队列的元素。

Test类用于测试 Deque 类的功能。先创建一个 Random 对象用于生成随机数,然后创建一个 Deque 对象 deque,接着使用循环将随机生成的 16 个随机字节添加到队列中,填满队列,然后调用 deque.print() 方法打印队列中的元素,接着尝试再次调用 deque.enqueue() 方法添加一个元素,由于队列已满,会打印错误消息,然后调用两次 deque.dequeue() 方法从队列头部移除两个元素,接着再次调用 deque.print() 方法打印删除两个元素后的队列情况,然后调用两次 deque.enqueue() 方法向队列尾部添加两个元素,接着再次调用 deque.print() 方法打印更新后的队列情况,然后使用循环将队列中的剩余 16 个元素全部移除,清空队列,接着调用 deque.print() 方法打印清空后的队列情况,最后尝试调用 deque.dequeue() 方法移除元素,由于队列已空,会打印错误消息。

编写一个复数类Complex:成员变量包括realPart和imagePart,分别代表实数部分和虚数部分;构造方法Complex()用于将实数部分和虚数部分都置为0;构造方法Complex(int r, int i)用于将实数部分置为r、虚数部分置为i;方法Complex complexMULTIPLE(Complex c)将当前复数对象与形参复数对象相乘,注意 (a+bj)*(c+dj)=ac-bd+(ad+bc)j;String toString()把当前复数对象的实数部分和虚数部分组合成a+bj的字符串形式。在报告中附上程序截图、运行结果截图(要求输出复数3+5i和复数2+3j相乘的结果)和详细的文字说明。

程序截图:
在这里插入图片描述
运行结果截图:
在这里插入图片描述
简要的文字说明:
这段代码实现了一个复数类Complex:成员变量包括realPart和imagePart,分别代表实数部分和虚数部分;构造方法Complex()用于将实数部分和虚数部分都置为0;构造方法Complex(int r, int i) 用于将实数部分置为r、虚数部分置为i;方法Complex complexMULTIPLE(Complex c)将当前复数对象与形参复数对象相乘;String toString()把当前复数对象的实数部分和虚数部分组合成a+bj的字符串形式。
在main方法中,创建了两个Complex对象c1和c2,分别表示复数3+5i和复数2+3j。
调用c1的complexMULTIPLE方法,传入c2作为参数,得到两个复数相乘的结果。
最后,打印输出结果。

编写一个秒表类StopWatch,成员变量和方法自定。编写一个支持快速排序算法的类QuickSort,成员变量和方法自定。对100000, 1000000, …等不同长度的数组中的元素(元素的值随机给定)进行排序,并用秒表对象来记录排序所用的时间。在报告中附上程序截图、运行结果截图和详细的文字说明

程序截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行结果截图:
当数组长度为100000时,运行结果如下:
在这里插入图片描述
当数组长度为1000000时,运行结果如下:
在这里插入图片描述
详细的文字说明:
StopWatch类具有两个私有成员变量:startTime和endTime,分别用于记录开始时间和结束时间。该类有三个公有方法:start()方法用于开始计时,将当前时间保存在startTime变量中,end()方法用于结束计时,将当前时间保存在endTime变量中,print()方法用于打印程序执行时间,通过计算endTime - startTime获取时间差,并打印出结果。
QuickSort类具有一个公共方法,用于快速排序
Test类用于测试,main里面创建了一个100000(1000000)容量的数组,并将数组的每个元素进行随机赋值,然后打印出数组的前三个数值和后三个数值,然后开始计时,然后对数组进行快速排序,然后结束计时,并打印出数组的前三个数值和后三个数值,证明数组有经过排序,最后打印出快速排序的运行时间。

  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深圳大学Java程序设计课程中涉及到了网络编程应用。网络编程是指通过网络进行数据交互的程序设计方式。 在网络编程中,我们需要使用Java提供的一些库和API来实现网络通信。Java中提供了一套完善的网络编程工具,包括Socket编程、ServerSocket编程、URL编程等。 Socket编程是实现网络通信的基本方式之一,它是一种面向连接的通信方式。通过创建一个Socket对象,程序可以与远程服务器进行连接,并进行数据的发送和接收。使用Socket编程,我们可以实现客户端和服务器之间的通信,实现从客户端向服务器发送请求,服务器处理请求并返回结果的功能。 ServerSocket编程是一种服务器端的网络编程方式,它可以接收客户端的连接请求并与之建立连接。通过创建一个ServerSocket对象,并调用其accept()方法,服务器可以等待客户端的连接请求,并将连接请求转交给一个新的Socket对象进行处理。使用ServerSocket编程,我们可以实现服务器的功能,接收来自多个客户端的请求,并处理这些请求。 URL编程是一种用于访问远程资源的网络编程方式。通过创建一个URL对象,并调用其openConnection()方法,我们可以建立与远程服务器的连接,并获取服务器返回的数据。使用URL编程,我们可以实现通过HTTP协议获取网页内容、下载文件等功能。 在深圳大学Java程序设计课程中,我们将学习如何使用这些网络编程的工具和技术,并实践一些网络应用开发。通过这门课程的学习,我们可以掌握网络编程的基本原理和常用技术,提升自己的Java程序设计能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值