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编程打下了坚实的基础。
- 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);}}}。