JAVA实验报告_实验7_数组_
java编程实验报告
java编程实验报告Java编程实验报告引言:Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、安全性高等特点。
本篇文章将介绍我在Java编程实验中的实践和收获。
实验一:Hello World程序在本实验中,我学习了如何使用Java编写一个简单的Hello World程序。
通过这个实验,我了解了Java的基本语法和程序结构。
在编写过程中,我发现Java的语法规范相对严格,需要注意语句的结束符号和代码的缩进。
通过运行程序,我成功输出了"Hello World"这个简单的字符串,这让我对Java编程的基本流程和语法有了更深入的了解。
实验二:变量与运算符在本实验中,我学习了Java中的变量和运算符的使用。
通过编写程序,我实现了对不同类型的变量进行声明和赋值,并进行基本的运算操作。
在这个过程中,我发现Java的变量需要先声明后使用,而且在进行运算时需要注意数据类型的匹配。
通过这个实验,我对Java中的变量和运算符有了更深入的理解。
实验三:条件语句与循环结构在本实验中,我学习了Java中的条件语句和循环结构的使用。
通过编写程序,我实现了对不同条件进行判断,并根据不同的条件执行相应的操作。
同时,我还学习了循环结构的使用,通过循环语句实现了对一段代码的重复执行。
在这个实验中,我发现条件语句和循环结构是Java编程中非常重要的部分,能够帮助程序实现更复杂的逻辑。
实验四:数组和字符串在本实验中,我学习了Java中数组和字符串的使用。
通过编写程序,我实现了对数组和字符串的声明、赋值和操作。
在这个过程中,我发现Java中的数组和字符串是一种非常方便的数据结构,能够帮助程序处理大量的数据。
通过这个实验,我对Java中数组和字符串的使用有了更深入的了解。
实验五:面向对象编程在本实验中,我学习了Java中的面向对象编程的基本概念和使用。
通过编写程序,我实现了对类的定义、对象的创建和方法的调用。
java 数组实验报告
java 数组实验报告Java 数组实验报告引言:在计算机科学领域中,数组是一种非常重要的数据结构。
它是一组相同类型的元素的集合,可以按照索引值来访问和操作其中的元素。
在本实验中,我们将探索 Java 中数组的特性和用法,并通过实际的代码示例来加深对数组的理解。
一、数组的定义和初始化在 Java 中,可以使用以下方式来定义和初始化一个数组:1. 声明数组变量并分配内存空间:int[] numbers = new int[5];这行代码声明了一个名为 numbers 的整型数组,它可以存储 5 个整数。
在内存中,会为这个数组分配连续的 5 个整型空间。
2. 直接初始化数组元素:int[] numbers = {1, 2, 3, 4, 5};这行代码声明了一个名为numbers 的整型数组,并直接初始化了数组的元素。
3. 动态初始化数组元素:int[] numbers = new int[5];numbers[0] = 1;numbers[1] = 2;numbers[2] = 3;numbers[3] = 4;numbers[4] = 5;这段代码先声明了一个名为 numbers 的整型数组,并为其分配了 5 个整型空间。
然后,通过索引值将具体的数值赋给数组的元素。
二、数组的访问和操作1. 访问数组元素:数组的元素可以通过索引值来访问,索引值从 0 开始,最大值为数组长度减一。
int firstNumber = numbers[0];这行代码将数组 numbers 的第一个元素赋值给整型变量 firstNumber。
2. 修改数组元素:数组的元素可以通过索引值进行修改。
numbers[0] = 10;这行代码将数组 numbers 的第一个元素修改为 10。
3. 数组的长度:数组的长度可以通过数组的 length 属性来获取。
int length = numbers.length;这行代码将数组 numbers 的长度赋值给整型变量 length。
Java数据结构实验报告
Java数据结构实验报告Java数据结构实验报告引言:数据结构是计算机科学中非常重要的一个领域,它研究如何组织和存储数据,以便能够高效地访问和操作。
在本次实验中,我们将使用Java语言实现几种常见的数据结构,并进行性能测试和分析,以便更好地理解它们的特点和应用场景。
一、数组:数组是最简单的数据结构之一,它由相同类型的元素组成,并按照一定的顺序存储在连续的内存空间中。
在Java中,数组的长度是固定的,一旦创建后就无法改变。
我们可以通过索引来访问数组中的元素,这使得数组的访问速度非常快。
在本次实验中,我们通过比较不同大小的数组在插入、删除和查找操作上的性能表现,来分析数组的优缺点。
实验结果显示,数组在查找操作上的性能非常好,时间复杂度为O(1),但在插入和删除操作上的性能较差,时间复杂度为O(n)。
因此,数组适用于那些需要频繁访问元素,但很少进行插入和删除操作的场景。
二、链表:链表是另一种常见的数据结构,它由节点组成,每个节点包含数据和指向下一个节点的指针。
与数组不同,链表的长度可以动态改变,这使得它更加灵活。
在Java中,链表有多种实现方式,如单链表、双向链表和循环链表等。
在本次实验中,我们比较了不同类型链表在插入、删除和查找操作上的性能表现。
实验结果显示,单链表在插入和删除操作上的性能非常好,时间复杂度为O(1),但在查找操作上的性能较差,时间复杂度为O(n)。
相比之下,双向链表在插入、删除和查找操作上都具有较好的性能,时间复杂度均为O(1)。
因此,链表适用于那些需要频繁进行插入和删除操作的场景。
三、栈和队列:栈和队列是两种特殊的数据结构,它们都是在一端进行插入和删除操作的。
栈遵循先进后出(LIFO)的原则,而队列遵循先进先出(FIFO)的原则。
在Java 中,栈和队列可以使用数组或链表来实现。
在本次实验中,我们通过比较数组栈、链表栈、数组队列和链表队列在插入、删除和查找操作上的性能表现,来分析它们的特点和适用场景。
JAVA实验7
浙江经贸职业技术学院实训报告系部______________ 班级____________ 姓名____________ 学号_______________日期______________ 地点____________ 指导教师_____________ 成绩实验七JAVA 面向对象编程(3)【实验目的】1.掌握JAVA语言类的定义和使用。
2.掌握JAVA语言对象的声明和使用。
3.掌握JAVA语言构造方法的概念和使用。
4.掌握类及其成员的访问控制符的区别和使用。
【预习内容】1. JAVA 类的定义格式;2.JAVA对象的使用三步骤:声明、创建以及初始化;3.访问控制修饰符:public、private和protected的功能和区别;4.JAVA构造方法的概念和特点;5.JAVA多态的概念,及重载和覆盖的区别;【实验内容及步骤】1.上机验证题1.阅读下面的程序,在main()方法里添加语句完成如下功能:(1)创建一个MyValue类的对象myValue.(2)为myValue对象中的value域赋值10。
(3)使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上。
class MyValue {private int value;public void setValue(int x) {value = x;}public int getValue() {return value;}}public class UseValue {public static void main(String args[]) {MyValue myvalue = new MyValue();myvalue.setValue(10);System.out.println(myvalue.getValue());}}[程序运行过程]2.(1)程序功能:通过LX7_1_P类产生子类LX7_2,其不仅具有父类的成员变量xm(姓名)、xh(学号),还定义了新成员变量xy(学院)、xi(系)。
java实验报告--数组
java实验报告--数组Java实验报告 - 数组引言:Java是一种广泛应用于软件开发的编程语言,其强大的数组功能使得它成为处理大量数据的理想选择。
本实验报告将探讨Java中数组的基本概念、使用方法以及一些常见的应用场景。
一、数组的定义与初始化在Java中,数组是一种用于存储多个相同类型元素的数据结构。
数组可以存储基本数据类型(如整数、浮点数等)或者对象。
声明一个数组需要指定元素的类型和数组的名称,然后使用关键字"new"来创建数组对象。
二、数组的访问与操作通过索引(index)可以访问数组中的元素,索引从0开始计数。
例如,对于一个长度为10的整数数组,可以使用arr[0]来访问第一个元素,arr[1]来访问第二个元素,以此类推。
数组的长度可以通过arr.length来获取。
三、数组的遍历与排序遍历数组是指逐个访问数组中的元素。
常用的遍历方法有使用for循环和foreach循环。
对于需要对数组进行排序的情况,可以使用Java提供的排序算法(如快速排序、冒泡排序等)或者使用Arrays类中的sort方法。
四、多维数组除了一维数组,Java还支持多维数组。
多维数组可以看作是数组的数组,可以用于存储表格、矩阵等结构化数据。
在声明多维数组时,需要指定每一维的长度。
五、数组的应用场景1. 数据存储与处理:数组可以用于存储和处理大量数据,如学生成绩、员工工资等。
通过数组,可以方便地进行数据的查找、排序和统计等操作。
2. 图像处理:图像可以用二维数组表示,每个元素代表一个像素点的颜色值。
通过对数组的操作,可以实现图像的旋转、缩放等功能。
3. 算法实现:许多算法的实现都需要使用数组,如查找算法、排序算法等。
数组的高效访问和操作使得算法的实现更加简洁和高效。
六、实验案例:数组的查找与统计为了更好地理解数组的应用,我们设计了一个实验案例:数组的查找与统计。
假设有一个整数数组,我们需要找到其中的最大值、最小值、平均值以及某个特定元素的出现次数。
Java实验报告-数组及常用算法
学号Java语言程序设计C实验报告实验2 数组及常用算法学生姓名专业、班级指导教师成绩计算机与信息工程学院年月日一、实验目的学习课程相关章节知识,通过上机练习,掌握以下知识:1.掌握Java中对象和引用变量的概念2.掌握Java数组的使用和本质3.掌握数组相关常用算法(复制及排序方法)二、实验内容写一个方法,功能:定义一个一维的int 数组,长度为10,把从控制台输入整数赋值给数组,然后将它们按从小到大的顺序输出(使用冒泡排序)(知识点:数组遍历、数组元素访问)三、实验思想1.Java中对象和引用变量的概念2.Java数组的使用和本质3.数组相关常用算法(复制及排序方法)四、实验结果package sss;import java.util.Scanner;public class aaa {public static void main(String[] args){// TODO自动生成的方法存根Scanner input=new Scanner(System.in);System.out.println("排序之前的数组:");int a[]=new int[10];for(int b=0;b<a.length;b++){a[b]=input.nextInt();}for(int i=0;i<a.length-1;i++){for(int j=0;j<a.length-1-i;j++){if(a[j]>a[j+1]){int temp=a[j+1];a[j+1]=a[j];a[j]=temp;}}}System.out.print("\n");System.out.print("排序之后的数组:");printArray(a);}public static void printArray(int[] arry){1for(int i=0;i<arry.length;i++){System.out.print(arry[i]+" ");}}}五、实验心得通过这个实验明白了:Java中对象和引用变量的概念,Java数组的使用和本质,数组相关常用算法(复制及排序方法)。
实验报告_实验7_数组(学号_姓名)
实验报告_实验7_数组(学号_姓名)一、实验目的:1、理解数组的作用、特点;2、掌握一维数组、二维的定义、引用、初始化,能够与循环结合实现批量数据处理(如输入、输出,比较大小,交换等);3、掌握字符数组、字符串的使用;4、熟悉打擂台等典型算法。
二、实验内容1、(基础题)有一个数列,它的第一项为1,第二项为2,第三项为3,以后每一项都等于它的前三项之和。
使用一维数组编程实现功能:计算该数列的前20项并赋值给数组,然后以逆序方式输出,每一行5个数据。
如下图所示:程序代码:2、(基础题)青年歌手大奖赛,有7名评委进行打分,分数取值范围:0.0~10.0,试编程实现如下功能:从键盘输入7位评委给某一选手的评分,之后计算、输出该选手的平均得分(计算规则:去掉一个最高分和一个最低分,求出剩余5个得分的平均值)。
如下图所示:(提示:使用一维数组来保存7位评委的给分,先计算所有评委给分总和,并找到最高分、最低分,然后用给分总和-最高分-最低分,再除5得到选手的平均得分,最后输出。
)程序代码:3、(基础题)计算矩阵之和:先输出这两个矩阵,再输出求和后矩阵。
(提示:矩阵之和是对应元素相加,可用二维数组实现)程序代码:4、(基础题)输入一个字符串,请编程统计其中的字母、数字、空格(含制表符)、标点符号的个数并输出。
如下图所示:(提示:在教材的p385-386中有字符和字符串函数,可以直接引用。
如isalpha()判断字母函数、isdigit()判断数字函数、isspace()判断空格函数、ispunct()判断标点函数等) 程序代码:5、(提高题)已知学生成绩如下表,要求用二维数组保存学生成绩,并计算每个学生的平均成绩以及各门课程的平均成绩。
程序运行效果如下图所示:。
java实验报告--数组
java实验报告--数组实验名称:Java实验报告--数组实验目的:通过本次实验,掌握Java中数组的基本概念、声明和初始化方法,以及数组的基本操作和常见问题解决方法。
实验过程:1. 数组的声明和初始化在Java中,数组是一种特殊的数据类型,用于存储同一类型的多个数据。
数组的声明和初始化可以通过以下方式进行:```javaint[] arr1 = new int[5]; // 声明一个长度为5的整型数组int[] arr2 = {1, 2, 3, 4, 5}; // 声明并初始化一个整型数组String[] arr3 = new String[]{"Java", "C", "Python"}; // 声明并初始化一个字符串数组```2. 数组的基本操作数组的基本操作包括访问元素、修改元素、获取数组长度等。
例如:```javaint[] arr = {1, 2, 3, 4, 5};System.out.println(arr[0]); // 访问数组的第一个元素arr[1] = 10; // 修改数组的第二个元素System.out.println(arr.length); // 获取数组的长度```3. 数组的常见问题解决方法在使用数组时,常见的问题包括数组越界、空指针异常等。
针对这些问题,可以采取以下解决方法:- 使用循环结构遍历数组时,注意控制循环变量的范围,避免数组越界;- 在访问数组元素之前,先判断数组是否为空,避免空指针异常的发生。
实验结果:通过本次实验,我掌握了Java中数组的基本概念、声明和初始化方法,以及数组的基本操作和常见问题解决方法。
在实际编程中,我能够更加灵活地运用数组,提高代码的效率和可靠性。
结论:数组是Java中非常重要的数据结构,掌握数组的基本概念和操作方法对于编写高效、健壮的程序至关重要。
通过本次实验,我对数组有了更深入的了解,为以后的Java编程打下了坚实的基础。
数组应用实验报告
数组应用实验报告
《数组应用实验报告》
在计算机科学领域,数组是一种非常重要的数据结构,它可以存储多个相同类型的数据,方便进行管理和操作。
在本次实验中,我们将探讨数组的应用,并通过实验报告来展示其在不同场景下的使用情况。
实验一:数组的创建和初始化
在本实验中,我们首先学习了如何创建和初始化数组。
通过编写简单的代码,我们成功创建了一个包含整数类型的数组,并对其进行了初始化。
我们发现,数组的索引是从0开始的,这意味着我们可以通过索引来访问数组中的元素。
实验二:数组的遍历和操作
接下来,我们学习了如何遍历数组并对其进行操作。
我们使用循环结构来遍历数组中的每个元素,并进行相应的操作。
我们发现,使用数组可以方便地对一组数据进行统一的处理,比如求和、平均值等操作。
实验三:多维数组的应用
在这个实验中,我们学习了多维数组的应用。
通过创建二维数组,我们可以模拟二维空间中的数据结构,比如矩阵、图像等。
我们发现,多维数组可以方便地表示复杂的数据结构,并且可以通过多重循环来对其进行遍历和操作。
实验四:数组的应用案例
最后,我们通过实际案例来展示数组的应用。
我们使用数组来实现一个简单的学生成绩管理系统,通过输入学生的成绩,然后计算平均分、最高分、最低分等统计数据。
我们发现,数组的使用大大简化了数据的管理和操作,提高了程序的效率和可维护性。
综上所述,本次实验通过实验报告展示了数组在不同场景下的应用情况。
通过学习和实践,我们深刻理解了数组的重要性和灵活性,相信在今后的编程工作中,我们将能够更加熟练地运用数组来解决实际问题。
java实验报告完整版
实验报告(计算机与信息工程学院实验中心)学期:2014-2015课程名称:《Java程序设计实验》班级:信息1202*名:***学号:**********指导老师:***《Java程序设计》独立实验教学安排一、实验的教学方式、安排及实验环境(一)教学方式对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。
实验十二的内容由学生自行设计完成。
(二)教学安排学时数:30课时学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。
(三)实验环境实验环境为JDK 1.6。
(四)具体安排地点:信息大楼实验室。
辅导:每个班次一名辅导老师,原则上由任课老师担任。
登记:实验完成,由辅导老师登记实验纪录。
学生:实验做完,完成实验报告内容,并在学期末上交实验册。
老师:批改实验,成绩与平时成绩一起占期末的30%。
二、实验的具体内容和要求见实验报告。
浙江工商大学计算机与信息工程学院实验报告(1)日期:地点:成绩:━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━实验目的、实验原理和内容:一、实验目的:熟悉Java开发环境及简单程序Java设计。
二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。
三、实验内容及要求:1.下载、安装并设置Java SDK 软件包。
2.熟悉Eclipse编辑软件。
3.掌握运行Java 程序的步骤。
4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。
要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。
程序一public class hello {public static void main(String[] args) {for(int i=0;i<=4;i++){System.out.println("Hello java! 欢迎使用!");}}}结果示意图1存在的问题1、JA VA 存在大小写,因为system没有区分大小写所以出现编译错误。
JAVA实验报告数组
JAVA实验报告数组实验名称:数组的操作和应用实验目的:掌握数组的定义和使用方法,了解数组在实际开发中的应用。
实验过程:1.数组的定义:数组是一种用来存储多个相同类型数据的容器。
在Java中,数组是引用类型。
数组的定义格式为:数据类型[] 数组名 = new 数据类型[数组长度]。
2.数组的初始化:数组初始化可以分为静态初始化和动态初始化两种方式。
静态初始化就是在定义数组时直接给出数据元素的初始值。
例如:int[] a = {1, 2, 3, 4, 5}。
动态初始化是在定义数组时只指定数组的长度,而不指定具体的元素值。
例如: int[] a = new int[5]。
3.数组的操作:数组的操作主要包括数组的读取和修改。
数组的读取使用数组名和索引的方式进行,索引从0开始,例如:int value = array[0]。
数组的修改也是通过索引来实现的,例如:array[0] = 10。
4.数组的遍历:数组的遍历是指依次访问数组中的每个元素,可以使用for循环或者foreach循环来实现。
for循环遍历数组的示例代码如下:```for (int i = 0; i < array.length; i++)System.out.println(array[i]);}```foreach循环遍历数组的示例代码如下:```for (int value : array)System.out.println(value);}```5.数组的应用:数组在实际开发中有广泛的应用场景,包括但不限于以下几个方面。
-存储一组数据:数组可以用来存储一组数据,例如存储学生成绩、商品价格等。
-统计数据:通过数组可以方便的统计一组数据的最大值、最小值、平均值等。
-排序数据:通过数组可以对一组数据进行排序,常见的排序算法有冒泡排序、插入排序、快速排序等。
-数据:通过数组可以快速一些值是否在数组中存在,常见的算法有顺序查找、二分查找等。
数组综合实验报告
一、实验目的1. 理解数组的基本概念和特性。
2. 掌握数组的创建、初始化、访问和修改方法。
3. 学会使用数组进行数据存储、排序、查找等操作。
4. 提高编程能力和算法设计能力。
二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 数组的创建与初始化2. 数组元素的访问与修改3. 数组的排序4. 数组的查找5. 数组的应用实例四、实验步骤1. 数组的创建与初始化(1)创建一个整型数组,并初始化为10个元素,元素值为0。
```javaint[] arr = new int[10];```(2)创建一个字符串数组,并初始化为5个元素,元素值为空字符串。
```javaString[] strArr = new String[5];```2. 数组元素的访问与修改(1)访问数组元素```javaint value = arr[2]; // 获取数组arr中索引为2的元素值```(2)修改数组元素```javaarr[2] = 10; // 将数组arr中索引为2的元素值修改为10 ```3. 数组的排序(1)冒泡排序```javapublic static void bubbleSort(int[] arr) {int temp;for (int i = 0; i < arr.length - 1; i++) {for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}```(2)选择排序```javapublic static void selectionSort(int[] arr) {int minIndex;for (int i = 0; i < arr.length - 1; i++) {minIndex = i;for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[minIndex]) {minIndex = j;}}int temp = arr[minIndex];arr[minIndex] = arr[i];arr[i] = temp;}}```4. 数组的查找(1)顺序查找public static int sequentialSearch(int[] arr, int key) { for (int i = 0; i < arr.length; i++) {if (arr[i] == key) {return i; // 找到key,返回索引}}return -1; // 未找到key,返回-1}```(2)二分查找```javapublic static int binarySearch(int[] arr, int key) {int low = 0;int high = arr.length - 1;while (low <= high) {int mid = (low + high) / 2;if (arr[mid] == key) {return mid; // 找到key,返回索引} else if (arr[mid] < key) {low = mid + 1;} else {high = mid - 1;}return -1; // 未找到key,返回-1}```5. 数组的应用实例(1)计算数组中所有元素的和```javapublic static int sum(int[] arr) {int sum = 0;for (int i = 0; i < arr.length; i++) { sum += arr[i];}return sum;}```(2)找出数组中的最大值和最小值```javapublic static int[] findMaxMin(int[] arr) { int max = arr[0];int min = arr[0];for (int i = 1; i < arr.length; i++) { if (arr[i] > max) {max = arr[i];}if (arr[i] < min) {min = arr[i];}}return new int[]{max, min};}```五、实验结果与分析1. 数组的创建与初始化:成功创建并初始化了整型数组和字符串数组,验证了数组的基本操作。
java数组实验总结
java数组实验总结
在进行Java数组实验后,我总结出以下几点:
首先,Java数组是一种用来存储相同类型数据的数据结构。
通
过声明数组并指定长度,可以在程序中创建数组对象。
数组的元素
可以通过索引访问,索引从0开始。
其次,Java数组在内存中是连续存储的,这意味着可以通过索
引来快速访问和操作数组元素。
这也使得数组在处理大量数据时具
有高效性能。
另外,Java数组的长度是固定的,一旦创建后就无法改变。
如
果需要动态增加或减少元素,可以考虑使用ArrayList等集合类。
此外,Java数组可以是多维的,即可以在数组中嵌套其他数组,用于表示矩阵、表格等复杂数据结构。
最后,需要注意的是,在使用Java数组时,要注意数组下标不
要越界,避免访问不存在的元素。
另外,要注意数组的初始化和遍
历操作,确保对数组元素的正确操作。
综上所述,Java数组是一种重要的数据结构,能够高效地存储和操作数据,但在使用过程中需要注意一些细节,以确保程序的正确性和性能。
Java实验报告及其源代码 数组
实验3 数组一、实验目的掌握java数组的创建和使用方法。
二、实验环境1.PC微机;2.DOS操作系统或 Windows 操作系统;3.Java sdk程序开发环境、eclipse集成环境。
三、实验内容1. 矩阵乘法实验要求:用户任意输入一个M*N的矩阵A和一个N*K的矩阵B,实现A*B,并将结果矩阵输出。
矩阵乘法的计算方法是,结果矩阵C的每项Cik =∑Aij*Bjk输入输出要求如下输入矩阵A:定义行数=2列数=3输入矩阵:行数=2 列数=31 2 34 5 6输入矩阵B:行数=3定义列数=4输入矩阵:行数=3 列数=41 2 3 42 3 4 53 4 5 6两矩阵相乘,结果为:14 20 26 3232 47 62 77四、实验步骤1.在实验一建立的Java项目下新建java类,命名为ArryMultiplication.java;2.在ArryMultiplication.java添加代码:package FirstExperiment;import java.util.Scanner;public class ArryMultiplication {public static double[][] multiplyMatrix(double[][] a,double[][] b){ if(a[0].length != b.length) {return null;}double[][] c=new double[a.length][b[0].length];for(int i=0;i<a.length;i++) {for(int j=0;j<b[0].length;j++) {for(int k=0;k<a[0].length;k++) {c[i][j] += a[i][k] * b[k][j];}}}return c;}/* 打印一个矩阵*/public static void printMatrix(double[][] c) {if (c!=null) {for(int i=0;i<c.length;i++) {for(int j=0;j<c[0].length;j++) {System.out.printf("%-8.1f",c[i][j]); //保留1位小数;}System.out.println();}} else {System.out.println("无效");}System.out.println();}public static void main(String[] args) {Scanner input=new Scanner(System.in);int n=0,kn=1,m=0,k=0;while(kn!=n) {System.out.println("矩阵A的行数m=");m=input.nextInt();System.out.println("矩阵A的列数n=");n=input.nextInt();System.out.println("矩阵B的列数行数kn=");kn=input.nextInt();System.out.println("矩阵B的列数k=");k=input.nextInt();if(kn!=n) {System.out.println("两个矩阵不满足相乘的条件,请重新输入!");}}double [][]a=new double[m][n]; //定义一个m*n的矩阵double [][]b=new double[n][k]; //定义一个n*k的矩阵System.out.println("输入连续的数构成数组a:");for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=input.nextDouble();System.out.println("输入连续的数构成数组b:");for(int i=0;i<n;i++)for(int j=0;j<k;j++)b[i][j]=input.nextDouble();double [][]c=multiplyMatrix(a, b);System.out.println("Matrix a:");printMatrix(a); //打印aSystem.out.println("Matrix b:");printMatrix(b); //打印bSystem.out.println("Matrix c:");printMatrix(c); //打印cinput.close();}}3.分别编译并调试五、实验结果五、实验小结本次实验是熟悉最常见的数据类型之一:数组。
Java程序设计实验报告2016
Java程序设计实验报告2016Java程序设计实验指导、报告书班级:____________________学号:____________________姓名:____________________哈尔滨工业大学(威海)计算机科学与技术学院目录实验1 熟悉Java开发环境 (3)实验2 Java结构化程序设计 (5)实验3 数组和向量的使用 (6)实验4 类和对象的练习 (8)实验5 Java图形用户界面设计 (11)实验6 Java数据流 (14)实验7 Java多线程 (18)实验8 Java网络编程 (21)实验1 熟悉Java开发环境一、实验目的(1)了解JDK及API文档的安装。
(2)了解Java应用程序的调试过程。
(3)正确使用Java命令行。
(4)熟悉Eclipse集成开发环境。
二、实验内容(1)在自己使用的机器上安装JDK及Eclipse,并正确设置系统环境。
(2)编写一个Java应用程序,在屏幕上显示如下信息:Hello <你的姓名>。
实验2 Java结构化程序设计一、实验目的(1)熟悉和理解Java中的数据类型、运算符、表达式、程序结构等内容。
(2)掌握常用的输入输出方法,编写、调试简单的程序。
(3)掌握选择、循环等语句用法。
(4)学会使用Java提供的类及方法。
二、实验内容(1)在控制台输入正整数n,计算1/1+1/2+…+1/n的值并在控制台中输出。
(2)在控制台输入正整数n,计算1/1+1/3+1/5+…的前n项值并在控制台中输出,例如,n=4,计算1/1+1/3+1/5+1/7的值。
(3)在控制台输入正整数n,计算n!的值并在控制台中输出。
(4)在控制台输入两个整数m和n,求出它们之间的最大值并在控制台中输出。
(5)输入两个整数m和n,求出它们的最小公倍数和最大公约数并在控制台中输出。
(6)求出所有的水仙数并在控制台中输出,水仙数是三位数,它的各位数字的立方和等于这个数本身,例如,371=3*3*3+7*7*7+1*1*1。
java数组实验报告
java数组实验报告《Java数组实验报告》在计算机编程中,数组是一种非常重要的数据结构,它可以存储多个相同类型的数据,并且可以通过索引来访问和操作这些数据。
在Java编程语言中,数组也是一个非常常用的数据类型,它可以用来解决各种问题,比如存储一组数字、字符串或者其他对象。
为了更好地理解和掌握Java数组的使用,我们进行了一系列的实验。
首先,我们学习了如何声明和初始化一个数组,以及如何访问和修改数组中的元素。
接着,我们实验了数组的遍历和排序,掌握了常见的数组操作技巧。
然后,我们深入研究了多维数组的使用,比如二维数组和三维数组,以及如何在程序中使用这些复杂的数据结构。
在实验过程中,我们发现了一些有趣的现象。
比如,在数组遍历和排序的过程中,我们可以通过循环和条件判断来实现各种不同的算法,从而对数组进行高效的操作。
另外,多维数组的使用也为我们提供了更多的可能性,可以用来表示更加复杂的数据结构,比如矩阵和图等。
通过这些实验,我们不仅深入理解了Java数组的使用方法,还提高了自己的编程技能。
我们相信,掌握了数组这一基础的数据结构,我们在以后的编程工作中一定会更加得心应手,能够更加高效地解决各种问题。
同时,我们也意识到,数组作为一种基础的数据结构,它的重要性不言而喻,我们应该不断地加强对它的学习和理解,以便更好地应用它来解决实际问题。
总之,通过这次实验,我们对Java数组有了更加深入的了解,也提高了自己的编程能力。
我们相信,通过不断地学习和实践,我们一定能够成为更加优秀的程序员,为社会的发展做出更大的贡献。
java数组实验报告
java数组实验报告Java数组实验报告引言Java是一种面向对象的编程语言,它提供了丰富的数据结构和算法库,其中数组是一种常用的数据结构。
本实验旨在通过实际操作,深入了解Java数组的使用方法和特性。
实验目的1. 学习如何声明和初始化数组;2. 掌握数组的基本操作,如访问、修改、排序等;3. 理解多维数组的概念和使用方法;4. 探索数组在实际应用中的一些常见问题和解决方案。
实验步骤1. 声明和初始化数组在Java中,声明和初始化数组可以通过以下方式进行:int[] array1 = new int[5]; // 声明一个包含5个整数的数组int[] array2 = {1, 2, 3, 4, 5}; // 声明并初始化一个整数数组2. 数组的基本操作访问数组元素:int firstElement = array2[0]; // 访问数组的第一个元素修改数组元素:array2[0] = 10; // 修改数组的第一个元素为10数组的长度:int length = array2.length; // 获取数组的长度3. 数组的排序Java提供了Arrays类来实现数组的排序操作。
例如,可以使用Arrays.sort()方法对数组进行升序排序:int[] array3 = {5, 3, 1, 4, 2};Arrays.sort(array3); // 对数组进行排序4. 多维数组除了一维数组外,Java还支持多维数组的使用。
多维数组可以理解为数组的数组。
例如,可以声明和初始化一个二维数组:int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};访问多维数组的元素:int element = matrix[1][2]; // 访问二维数组的第二行第三列的元素5. 数组的应用数组在实际应用中有许多用途。
例如,可以使用数组来存储学生成绩、员工工资等信息,并进行相应的操作和计算。
实验七 JAVA数组与集合
实验七数组与集合●实验目的1.掌握对象数组的使用方法2.掌握集合操作●实验环境JDK1.4以上版本,Eclipse集成开发环境●实验内容1. 声明一个Student类,属性包括姓名、学号、总成绩;生成10个Student类对象,并放在一个一维数组中,编写方法按总成绩进行排序,将排序后的对象分别保持在Vector 、ArrayList、HashTable类型的对象中,并遍历显示其中元素的信息。
import java.util.Vector;import java.util.ArrayList;import java.util.Hashtable;import java.util.Enumeration;import java.util.Iterator;public class Ex71 {public static void main(String[] args){/** 定义Student类型的数组并初始化*//** 对数组中的元素按照总成绩从高第低排序*//** 将排序好的数组对象依次存入Vector*//** 将排序好的数组对象依次存入ArrayList*//** 将排序好的数组对象依次存入HashTable*//** 对集合中的元素进行遍历打印输出分别用Enumeration、Iterator*/}}class Student{private String xh;private String xm;private float zf;public Student(String xh, String xm, float zf) {super();this.xh = xh;this.xm = xm;this.zf = zf;}public String getXh() {return xh;}public void setXh(String xh) {this.xh = xh;}public String getXm() {return xm;}public void setXm(String xm) {this.xm = xm;}public float getZf() {return zf;}public void setZf(float zf) {this.zf = zf;}public String toString(){return"学号:"+xh+"姓名:"+xm+" 总成绩:"+zf;}}2.声明一个类,此类使用私有的ArrayList来存储对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java Object-Oriented Programming Experimental Report3.2 Grading Quizzes (Choose to do)3.3 Reversing an Array(Choose to do)3.4 Adding To and Removing From an Integer List(Choose to do) 3.5 A Shopping Cart (Choose to do)3.6 Averaging Numbers (Choose to do)3.7 Exploring Variable Length Parameter Lists3.8 Magic Squares(Choose to do)3.9 A Shopping Cart Using the ArrayList Class (Choose to do) 3.10 A Polygon Person(Choose to do)3.11 An Array of Radio Buttons\3.12 Drawing Circles with Mouse Clicks3.13 Moving Circles with the Mouse(Choose to do)3.14 Moving a Stick Figure(Choose to do)4.Experimental results and data processing5.Analysis and discussionScore: 6.Teacher ReviewsSignature:Date:Experimental Report List1 Tracking Saleepackage test_java_07_01;import java.util.Scanner;import java.util.Arrays;public class test_01{public static void main(String[] args){final int SALESPEOPLE = 5;int[] sales = new int[SALESPEOPLE];Scanner scan = new Scanner(System.in);for (int i=0; i<sales.length; i++){System.out.print("Enter sales for salesperson " + i + ": ");sales[i] = scan.nextInt();}int sum,max=0,maxi=0,min=sales[0],mini=0;for(int i=1;i < sales.length;i++){if(sales[i]<min){min=sales[i];mini=i;}}System.out.println("\nSalesperson Sales");System.out.println("--------------------");sum = 0;for (int i=0; i<sales.length; i++){System.out.println(" " + i + " " + sales[i]);if(sales[i]>max){max=sales[i];maxi=i;}sum += sales[i];}float avg=sum/5;System.out.println("\nTotal sales: " + sum);System.out.println("Salesperson "+ (maxi+1) +" had the highest sale with" + max);System.out.println("Salesperson "+ (mini+1) +" had the leatst sale with " + min);System.out.println("put in the sale");int sal=scan.nextInt(),summer=0;for(int i=0;i<sales.length;i++){if(sales[i]>=sal){System.out.println("saleman "+(i+1)+" expend this sale,he has "+sales[i]);summer++;}}System.out.println("the salesmen have "+summer+" people can acquire this goal");}}7 Exploring Variable Length Parameter Listspackage test_java_07_07;import java.util.Scanner;public class test_01{//-----------------------------------------------// Calls the average and minimum methods with// different numbers of parameters.//-----------------------------------------------public static void main(String[] args){double mean1, mean2,mean3, mean4;int [] number=new int[20];Scanner scan =new Scanner(System.in);mean1 = average(42, 69, 37);mean2 = average(35, 43, 93, 23, 40, 21, 75);mean3 = average(13);mean4 = average();for(int i =0;i<number.length;i++){number[i]=scan.nextInt();}double avg=average(number);int min=minnumber(number);System.out.println ("mean1 = " + mean1); System.out.println ("mean2 = " + mean2); System.out.println ("mean3 = " + mean3); System.out.println ("mean4 = " + mean4); System.out.println ("avg = " + avg);System.out.println ("min = " + min);}public static double average (int ... list) {double result = 0.0;if (list.length != 0){int sum = 0;for (int num: list)sum += num;result = (double)sum / list.length; }return result;}public static int minnumber(int ...list){int min=list[0];for(int i=1 ;i < list.length;i++){if(list[i]<=min){min=list[i];}}return min;}}11 An Array of Radio Buttons(1)package test_java_07_11;import javax.swing.*;public class test_01{// ------------------------------------------------------------- // Creates and presents the frame for the color change panel.// ------------------------------------------------------------- public static void main (String[] args){JFrame colorFrame = new JFrame ("Color Options");colorFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);test_02 panel = new test_02();colorFrame.getContentPane().add (panel);colorFrame.pack();colorFrame.setVisible(true);}}(2)package test_java_07_11;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class test_02 extends JPanel{private final int WIDTH = 350, HEIGHT = 100, FONT_SIZE = 20;private final int NUM_COLORS = 5;private Color [] color = new Color[NUM_COLORS];private JLabel heading;private JRadioButton [] colorButton ;// ------------------------------------------------------------------// Sets up a panel with a label at the top and a set of radio buttons // that control the background color of the panel.// ------------------------------------------------------------------public test_02 (){color[0] = Color.yellow;color[1] = Color.cyan;color[2] = Color.red;color[3] = Color.green;color[4] = Color.magenta;heading = new JLabel ("Choose the background color!");heading.setFont (new Font ("Helvetica", Font.BOLD, FONT_SIZE)); //刚开始add (heading);setBackground (Color.WHITE);colorButton = new JRadioButton[NUM_COLORS]; //创建选框colorButton[0] =new JRadioButton("yellow");colorButton[1] =new JRadioButton("cyan");colorButton[2] =new JRadioButton("red");colorButton[3] =new JRadioButton("green");colorButton[4] =new JRadioButton("magenta");ButtonGroup group = new ButtonGroup(); //为选框分组group.add(colorButton[0]);group.add(colorButton[1]);group.add(colorButton[2]);group.add(colorButton[3]);group.add(colorButton[4]);colorButton[0].setSelected(true);ColorListener linster =new ColorListener(); //为选框添加监听器for(int i = 0;i < colorButton.length;i++) //把选框添加到面板{colorButton[i].addActionListener(linster);add(colorButton[i]);}setPreferredSize (new Dimension (WIDTH, HEIGHT));}private class ColorListener implements ActionListener{// Updates the background color of the panel based on// which radio button is selected.private test_02 test;public void actionPerformed (ActionEvent event){if(colorButton != null){for(int i = 0;i < colorButton.length; i++){if(colorButton[i].isSelected()){//test =new test_02();setBackground(color[i]);}}}}}}12 Drawing Circles with Mouse Clicks(1)package test_java_07_12;import javax.swing.JFrame;public class test_01{//----------------------------------------------------------------- // Creates and displays the application frame.//----------------------------------------------------------------- public static void main (String[] args){JFrame circlesFrame = new JFrame ("Circles");circlesFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);circlesFrame.getContentPane().add (new test_03_JFrame());circlesFrame.pack();circlesFrame.setVisible(true);}}(2)package test_java_07_12;import java.awt.*;import java.util.Random;public class test_02{private int centerX, centerY;private int radius;private Color color;static Random generator = new Random();//---------------------------------------------------------// Creates a circle with center at point given, random radius and color// -- radius 25..74// -- color RGB value 0..16777215 (24-bit)//---------------------------------------------------------public test_02(Point point){radius = Math.abs(generator.nextInt())%50 + 25;color = new Color(Math.abs(generator.nextInt())% 16777216);centerX = point.x;centerY = point.y;}//---------------------------------------------------------// Draws circle on the graphics object given//---------------------------------------------------------public void draw(Graphics page){page.setColor(color);page.fillOval(centerX-radius,centerY-radius,radius*2,radius*2);}public void drawwhite(Graphics page){page.setColor(Color.WHITE);page.fillOval(centerX-radius,centerY-radius,radius*2,radius*2);}public void move(Point p){centerX = p.x;centerY = p.y;}public boolean isInside(Point p){if(Math.sqrt((p.x-centerX)*(p.x-centerX)+(p.y-centerY)*(p.y-centerY))>radi us){return false;}else{return true;}}}(3)package test_java_07_12;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.*;public class test_03_JFrame extends JPanel{private final int WIDTH = 600, HEIGHT = 400;private test_02 circle;//-----------------------------------------------------------------// Sets up this panel to listen for mouse events.//-----------------------------------------------------------------public test_03_JFrame(){addMouseListener (new CirclesListener());setPreferredSize (new Dimension(WIDTH, HEIGHT));}//-----------------------------------------------------------------// Draws the current circle, if any.//-----------------------------------------------------------------public void paintComponent (Graphics page){super.paintComponent(page);if (circle != null)circle.draw(page);}//***************************************************************** // Represents the listener for mouse events.//***************************************************************** private class CirclesListener implements MouseListener{//--------------------------------------------------------------// Creates a new circle at the current location whenever the// mouse button is pressed and repaints.//--------------------------------------------------------------public void mousePressed (MouseEvent event){if (circle == null){circle = new test_02(event.getPoint());}else{if(circle.isInside(event.getPoint())){circle=null;}else{circle = new test_02(event.getPoint());circle.move(event.getPoint());}}repaint();}//-----------------------------------------------------------------// Provide empty definitions for unused event methods.//-----------------------------------------------------------------public void mouseClicked (MouseEvent event) {circle = new test_02(event.getPoint());circle.move(event.getPoint());}public void mouseReleased (MouseEvent event) {}public void mouseEntered (MouseEvent event) {setBackground(Color.WHITE);;}public void mouseExited (MouseEvent event) {setBackground(Color.blue);}}}。