由于本周有java的实验课,所以本人写相关的博客,来拯救小伙伴!本次试验用到的软件是myeclipse,工作的环境是windows 10,下面我们开始揭晓本次实验的内容: 我们首先定义一个IntergerSet类,用来存放数组内杂乱无章的数据为了要做到从小到大,因此还需用到排序算法(在这里本人使用了冒泡排序)此类的代码如下: package Test; import java.util.Scanner; public class IntegerSet { int[] a=new int[1000]; int k; int number; Scanner scanne 在本Java实验中,主要涉及了以下几个核心知识点: 1. **数组**:数组是一种线性数据结构,用于存储同一类型的数据集合。在这个实验中,定义了一个名为`a`的整型数组,它用来存放用户输入的整数。数组的长度为1000,但实际使用的大小由变量`k`控制。 2. **排序算法**:实验中采用的是**冒泡排序**,这是一种简单的排序算法,通过不断交换相邻的两个逆序元素来逐步将数组排序。冒泡排序的时间复杂度为O(n^2),其中n是数组的长度。具体实现是通过两个嵌套的循环,外层循环控制比较的轮数,内层循环进行相邻元素间的比较和交换。 3. **Scanner类**:Java中的`Scanner`类是用于读取标准输入的工具,如键盘输入。在实验中,它被用来获取用户输入的整数个数`k`和实际的整数值。 4. **类的定义与方法**:创建了一个名为`IntegerSet`的类,包含一个整型数组`a`、一个表示数组已使用位置的变量`k`以及一个表示总数量的变量`number`。类中定义了一个`srpx()`方法,用于接收用户输入并进行冒泡排序。 5. **主函数(main方法)**:程序的入口点,用于执行程序的主要逻辑。在主函数中,创建了两个`IntegerSet`对象`s1`和`s2`,分别调用了它们的`srpx()`方法对输入的整数进行排序。接着,计算两个已排序数组的交集和并集。 6. **交集与并集**:交集是同时存在于两个数组中的元素,通过遍历两个已排序数组,找到相同的元素并打印。并集是两个数组的所有元素,包括重复的,也通过遍历和复制数组实现,并在最后进行一次冒泡排序确保并集也是有序的。 7. **条件判断**:使用`if`语句检查两个排序后的数组是否相等,即所有元素都相同。如果相等,则打印相应的信息,否则打印不相等的信息。 8. **变量的使用**:实验中使用了多个变量,如`flag`用于标记是否有交集,`count`和`count2`未在给出的代码中使用,可能是预留的计数变量。`max`用来存储两个数组中较长数组的长度,以便处理不同长度的数组。 9. **静态变量与常量**:虽然未在代码中看到使用,但注释提到了`NULL`和`IntegerSet`的静态声明,这通常用于定义全局常量或单例模式。 这个实验旨在让学生掌握基本的数组操作,排序算法的实现,以及如何处理数据集合(如交集和并集)。通过这个实验,学生能进一步理解面向对象编程的概念,增强对Java语言的实际应用能力。
剩余6页未读,继续阅读
- 粉丝: 6
- 资源: 884
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2024下半年,CISSP官方10道练习题
- JD-Core是一个用JAVA编写的JAVA反编译器 .zip
- 时间复杂度与数据结构:算法效率的双重奏
- QT 简易项目 网络调试器(未实现连接唯一性) QT5.12.3环境 C++实现
- YOLOv3网络架构深度解析:关键特性与代码实现
- ACOUSTICECHO CANCELLATION WITH THE DUAL-SIGNAL TRANSFORMATION LSTM NETWORK
- 深入解析:动态数据结构与静态数据结构的差异
- YOLOv2:在YOLOv1基础上的飞跃
- imgview图片浏览工具v1.0
- Toony Colors Pro 2 2.2.5的资源