JAVA实验一——数组类编程
文章目录
- 实验题目
- 一、实验目的
- 二、实验原理
- 三、实验代码
- 1、代码思路
- 2、具体代码
- 四、实验总结
实验题目
一、实验目的
1.掌握Java语言的基本语法,掌握基本数据类型的使用方法;熟练使用分支、循环等语句控制程序流程;掌握数组类型的生命和动态内存申请,理解数组的引用模型;掌握方法声明和调用规则,掌握基本类型和引用类型作为方法参数和返回值的传递规则;掌握String类中的方法,熟练使用对字符串变量进行的操作。
2.掌握在Eclipse继承开发环境中编辑、编译、运行和调试程序的操作;掌握使用命令行参数作为输入数据的方法;熟悉程序调试技术,查看程序过程中的变量值,找出程序错误位置和出错原因。
3.掌握类的声明格式和多种封装措施,理解对象的引用模型;掌握类的继承原则,正确使用重载和覆盖等多态概念设计可复用方法,理解运行时多态性概念;掌握声明抽象类和最终类的方法,理解抽象类和最终类的作用。
4.掌握在Eclipse集成开发环境中,通过设置编译路径引用其他项目中声明的类。
5.理解接口的作用,理解接口和实现接口的类的关系,掌握声明接口、一个类实现多个接口的声明和使用方法;理解内嵌类型的概念,掌握声明内部类的方法;理解Java包的概念和作用,熟悉Java语言包和使用包中的常用类。
二、实验原理
在程序设计中,函数(function)是实现特定功能的、可被调用执行并能返回值的程序段。函数包括函数声明和函数体。函数声明定义函数名、形式参数列表及返回值类型;函数体由执行操作的语句序列组成。函数执行通过函数调用实现。函数调用时必须制定函数名称和实际参数列表,函数执行后返回结果值。函数返回值可以参加其数据类型允许的运算。
一个类中如果有多个同名方法但带有不同的参数列表,成为方法重载。重载方法的参数列表不同是指参数的数据类型或个数或次序不同。重载方法之间必须以参数列表相区别,不能以返回值相区别,即不能有两个参数列表相同但返回值不同的重载方法。
接口是一组抽象方法、常量和内嵌类型的集合。接口是一种数据类型,采用抽象形式来描述约定,因此接口只有被类实现后才有意义。接口提供方法声明与方法实现相分离的机制,使得接口中声明的抽象方法能够在实现接口的类中表现运行时多态。
关键字implements用于声明一个类实现多个指定接口。
非抽象类如果声明实现多个接口,则它必须实现覆盖所有指定接口中的所有抽象方法,方法的参数列表必须相同,否则必须声明为抽象类。
类所继承的父类以及所实现的全部接口被称为它的父类型,反之,该类就是其父类型的子类型,接口也是其继承的全部父接口的子类型。子类型包含其父类型的全部属性和功能,子类型对象即父类型对象。因此,父类型对象可引用子类实例。
三、实验代码
1、代码思路
1.随机生成函数 RandomArray(int n, int max)
先定义函数RandomArray,使用new对数组分配存储空间,当n>0时,每次循环都使用JAVA的Math库中的random随机生成一个数,利用–n,当n<=0时跳出循环,返回x引用的数组。
2.判断函数 CheckOrder()
定义int型判断函数CheckOrder,比较n-1次,当任意一次的比较中前一个数比后一个数大,数组的排列方式就不是升序排列,返回0;当所有次数比较完毕,前一个数都比后一个数小,即升序排列方式,返回1。
3.数组和函数 Sum()
定义int型数组和函数,先给sum赋初值为0,而后进入循环,当循环次数<数组长度时,sum累加求数组所有元素的和;否则循环结束,跳出循环,返回sum的值。
4.判断某个元素函数 CheckKey()
首先定义int型元素函数 CheckKey(),从数组的第0个数开始比较是否和Key相等,相等返回1;当循环完毕,未找到和Key相等的数,返回0。
5.编写 main 函数,调用测试以上功能;
在main函数中调用函数一:调用RandomArray函数随机生成数组arr,利用for循环输出数组。
在main函数中调用函数二:利用println直接输出CheckOrder的返回值
在main函数中调用函数三:利用println直接输出sum的返回值
在main函数中调用函数四:利用println直接输出CheckKey的返回值
2、具体代码
package shiyan1;public class shuzu1
{public static int[] RandomArray(int n,int max)
{int[]x=new int[n];while(n>0)x[--n] = (int)(Math.random()*max);return x;
}public static int CheckOrder(int[] x,int n)
{for(int i=0;i<n-1;i++){if(x[i]>x[i+1])return 0;}return 1;
}public static int sum (int[] x)
{int sum = 0;for(int i=0;i<x.length;i++){sum+=x[i];}return sum;
}public static int CheckKey(int[]x,int n,int Key)
{for(int i=0;i<n;i++){if(x[i]==Key)return 1;}return 0;
}public static void main(String[] args)
{int []arr = RandomArray(5, 10);int i = 0;int Key = 5;for (i = 0; i < arr.length; i++) {System.out.println(arr[i]);}System.out.println("\n");System.out.println(CheckOrder(arr,i));System.out.println(sum(arr));System.out.println(CheckKey(arr,i,Key));
}
}
调试结果如下图。
四、实验总结
通过本次实验,我掌握了类、接口、方法等概念,在Eclipse继承开发环境中编辑、编译、运行和调试程序、设置断点一步步观察程序运行及debug的操作并对其运用有了更深入的学习。本次题目锻炼了我的查阅资料的能力及编程能力,收获颇多。在使用Eclipse编程时经常出现bug,经过查阅资料等都将其更正。
JAVA实验一——数组类编程相关推荐
- 20165310 Java实验五《网络编程与安全》
20165310 Java实验五<网络编程与安全> 任务一 题目:①编写MyBC.java实现中缀表达式转后缀表达式的功能:②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表 ...
- java实验系统常用类,Java的常用系统类
Java的常用系统类Tag内容描述: 1.Java语言与JBuilder应用初步 第六章 常用的Java系统类,本章要点,字符串类 数值(Number)类及其子类 数组类 集合类 Object类,字符 ...
- java实验报告 05 类与_java程序设计类与方法-java实验报告
java程序设计类与方法-java实验报告 java程序设计类与方法-java实验报告 1. 实验内容或题目 (1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并 ...
- java实验7 常用类的使用
实验七 常用类的使用 实验目的 1. 了解类库的概念及API的使用方法. 2. 掌握常用类的使用方法. 实验学时 2学时 实验内容 1. 输入两个字符串str1.str2,统计字符串str2出现在s ...
- java自定义一个数组类(封装多种方法)
一.自定义数组类的动机 java给定的数组为静态的,我们是无法对齐进行灵活的操作,比如指定位置添加元素,删除元素,判断是否非空等,于是我们便需要利用"面向对象"的设计模式,自定义一 ...
- Java实验——定义一个类,该类中包含以下几个方法(静态):实现两个字符串数组的逆序排序,输出结果为字符串数组;求两个整形数组的交集;求两个浮点型数组的并集;
目录 一.实现两个字符串数组的逆序排序,输出结果为字符串数组 解题思路: 具体代码: 运行截图: 二.求两个整形数组的交集 具体代码: 运行截图: 三.求两个浮点型数组的并集 解题思路: 具体代码: ...
- java自学 part2 数组 类和对象 包 继承 多态 抽象类 接口
数组:arr 获取数组的长度:arr.length 数组转字符串: Arrays.toString(arr) 数组的拷贝: Arrays.copyOf(arr,arr.length) 数组的排序:Ar ...
- java实验二:类与对象
类与对象编程练习 一.学生信息处理 二.用类描述计算机中CPU的速度和硬盘的容量 三.共饮同井水 四.正n边形 五.分析程序,给出运行结果 1.程序一 2.程序二 3.程序三 六.程序纠错 1.程序一 ...
- java实验报告——雇员类
实验报告 (1)设计一个雇员类,属性包括:编号.姓名.年龄.职务.部门.出勤人数:方法包括:构造方法.输出信息的方法.签到方法: (2)创建雇员类对象,统计雇员的出勤人数. 注意考虑属性和方法的访问权 ...
最新文章
- redis php 守护进程,PHP守护进程利用Redis队列实现业务
- 【机器学习】特征提取代码汇总
- 驱动级的自动按键_茶陵定做自动伸缩门定制,防火门厂家直销-湖南富扬门窗
- linux快速统计目录大小,linux下统计文件夹、文件的大小--du
- 矩阵的秩与行列式的几何意义
- springboot之idea无法添加包
- Telnet基本概念及C# Telnet 客户端程序
- [蛋蛋四格漫画]-贺沪江日语四周年版庆
- Syncthing:开源 P2P 文件同步工具
- colab挂载谷歌云盘出错
- MATLBA官方给出的2D Allen-Cahn Matlab代码分析
- 一文读懂汽车功能安全
- 某cpws - ciphertext加密与数据解密
- k-最近邻聚类k-Nearest Neighbor
- 基于Python热点新闻关键词数据分析系统
- CIM技术,构建数字孪生的智慧城市
- Java的同步锁和同步方法(synchronized)
- 容器与容器云——kubernetes概述
- GM7123视频编码电路:TTL转VGA,替换SDA7123转换芯片
- 反向比例运算电路微分关系_20个经典模拟电路,你能记住几个?
热门文章
- Angular sort recursive的实现原理
- scn exercise view.setModel will trigger binding creation in Fiori
- CRM呼叫中心异步搜索实现的调试截图
- 如何处理Marketing Cloud OData服务的错误消息
- GTADIR check object exist in another system
- deletion in request load scenario
- IPM: Mass IP generation can only support 99 numbers of IP at maximum
- 给nodejs应用的package.json添加Redis服务的依赖
- SAP S/4HANA extensibility扩展原理介绍
- S/4HANA和CRM Fiori应用的搜索分页实现