实验3 数组编程.pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Java 数组编程实验报告 一、实验目的和要求 本实验的目的是进一步理解和掌握 Java 语言中数组的概念,并掌握数组在方法中的使用,包括把数组传递给方法和从方法中返回数组,并能使用数组进行程序设计。 实验要求包括:了解 Java 数组的声明、创建和初始化,掌握数组在方法中的使用,使用数组进行程序设计,了解数组的属性和方法,掌握冒泡排序法和顺序查找算法。 二、实验原理 创建 Java 数组需要三个步骤:声明数组、创建数组空间和初始化数组元素。 1. 声明数组:数组的声明有两种语法格式:数组元素类型 数组名[ ];数组元素类型[ ] 数组名;例如:int a[ ];int[ ] a; 2. 创建数组空间:声明数组仅仅指定了数组的名字和数组元素的类型,要想真正使用数组还需要为它分配内存空间,即创建数组空间。例如:int a[ ]=new int[10]; 3. 初始化数组元素:如果是基本数据类型,可以在创建数组空间的时候,同时将初始值给出。例如:int a[ ]={1,2,3,4}; 在 Java 语言中,一个数组就是一个对象。每个数组都有一个属性 length,用来指明数组的长度。数组元素的类型可以是基本数据类型,也可以是类类型。 三、实验实例 1. 数据排序 数据排序就是将一群数据排成某种特定的顺序,这种顺序可能是升序或降序,是最重要的计算应用之一。使用冒泡排序法对数据进行排序:将相邻的两个数据加以比较,若左边的值大于右边的值,则将此两个值互相交换;若左边的值小于等于右边的值,则此两个值的位置不变。右边的值继续和下一个值做比较,重复操作,知道比较到最后一个值。 程序代码如下: ```java import java.util.Scanner; public class BubbleSort { public static void main(String args[]) { int [] a = new int [10]; Scanner input = new Scanner(System.in); System.out.println("任意输入十个数"); for(int i= 0; i<10;i++){ a[i] = input.nextInt(); } bubbleSort(a); System.out.print("冒泡排序后的顺序: "); for(int i=0; i < 10; ++i){ System.out.print( a[i]+" "); } System.out.print("\n"); } public static void bubbleSort(int a[]) { for(int i=9;i>=1;i--){ for(int j=0;j<i;j++){ if(a[j]>a[j+1]){ int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } } } ``` 2. 顺序查找 顺序查找是将查找关键值与每一个数组元素进行比较。程序代码如下: ```java import java.util.Scanner; public class SequentialSearch { public static void main(String args[]) { int [] a = new int [10]; Scanner input = new Scanner(System.in); System.out.print("任意输入十个数:\n"); for(int i= 0; i<10;i++){ a[i] = input.nextInt(); } System.out.println("请输入查找的数"); int n= input.nextInt(); sequentialSearch(a,n); } public static void sequentialSearch(int a[],int m) { int count=0; for(int i=0;i<10;i++){ if(a[i]==m){ System.out.println("查找成功,查找的数位于第" + (i+1) + "个元素"); return; } } System.out.println("查找失败"); } } ``` 四、实验结论 通过本实验,我们了解了 Java 数组的声明、创建和初始化,并掌握了数组在方法中的使用,使用数组进行程序设计,了解数组的属性和方法,掌握冒泡排序法和顺序查找算法。
- 粉丝: 6793
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java语言的zsxy-openapi-sdk设计源码示例
- 基于Python的mmdetection同步更新设计源码
- 基于Vue的iOC-Plat平台设计源码
- 基于TCP协议与ESP32驱动的TFT彩屏无线投屏助手设计源码
- 基于wex5的SpringBoot后端替换BAAS服务设计源码
- 基于Objective-C语言开发的仿滴滴、膜拜等软件首页弹窗广告设计源码
- 基于可爱猫头鹰主题的动态下雪背景用户登录注册页面CSS设计源码
- 基于Java与Kotlin的easyble-x Android蓝牙低功耗(BLE)设计源码框架
- 基于Python和JavaScript的车牌检测与识别系统设计源码
- 基于Vue框架的敬老院H5前端设计源码