java 数组实验报告
JAVA实验报告_实验7_数组_

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);}}}。
数组实验报告结果

一、实验目的1. 理解数组的概念和基本操作。
2. 掌握数组的创建、初始化、赋值、遍历、查找、排序等基本操作。
3. 培养动手实践能力和问题解决能力。
二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容本次实验主要对数组进行以下操作:1. 创建数组2. 初始化数组3. 赋值操作4. 遍历数组5. 查找操作6. 排序操作四、实验步骤1. 创建数组```javaint[] array = new int[10]; // 创建一个长度为10的整型数组```2. 初始化数组```javaint[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 创建并初始化一个长度为10的整型数组```3. 赋值操作```javaarray[0] = 10; // 将数组第一个元素的值赋为10```4. 遍历数组```javafor (int i = 0; i < array.length; i++) {System.out.println(array[i]); // 遍历数组并打印每个元素的值}```5. 查找操作```javaint target = 5; // 查找目标值int index = -1; // 存储目标值在数组中的索引for (int i = 0; i < array.length; i++) {if (array[i] == target) {index = i;break;}}if (index != -1) {System.out.println("找到目标值:" + target + ",索引为:" + index); } else {System.out.println("未找到目标值:" + target);}```6. 排序操作```javaint[] array = {5, 3, 8, 2, 1};for (int i = 0; i < array.length - 1; i++) {for (int j = 0; j < array.length - 1 - i; j++) {if (array[j] > array[j + 1]) {int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}}System.out.println("排序后的数组:");for (int i = 0; i < array.length; i++) {System.out.print(array[i] + " ");}```五、实验结果与分析1. 创建数组:成功创建了一个长度为10的整型数组。
java数组实验报告

java数组实验报告《Java数组实验报告》在计算机编程中,数组是一种非常重要的数据结构,它可以存储多个相同类型的数据,并且可以通过索引来访问和操作这些数据。
在Java编程语言中,数组也是一个非常常用的数据类型,它可以用来解决各种问题,比如存储一组数字、字符串或者其他对象。
为了更好地理解和掌握Java数组的使用,我们进行了一系列的实验。
首先,我们学习了如何声明和初始化一个数组,以及如何访问和修改数组中的元素。
接着,我们实验了数组的遍历和排序,掌握了常见的数组操作技巧。
然后,我们深入研究了多维数组的使用,比如二维数组和三维数组,以及如何在程序中使用这些复杂的数据结构。
在实验过程中,我们发现了一些有趣的现象。
比如,在数组遍历和排序的过程中,我们可以通过循环和条件判断来实现各种不同的算法,从而对数组进行高效的操作。
另外,多维数组的使用也为我们提供了更多的可能性,可以用来表示更加复杂的数据结构,比如矩阵和图等。
通过这些实验,我们不仅深入理解了Java数组的使用方法,还提高了自己的编程技能。
我们相信,掌握了数组这一基础的数据结构,我们在以后的编程工作中一定会更加得心应手,能够更加高效地解决各种问题。
同时,我们也意识到,数组作为一种基础的数据结构,它的重要性不言而喻,我们应该不断地加强对它的学习和理解,以便更好地应用它来解决实际问题。
总之,通过这次实验,我们对Java数组有了更加深入的了解,也提高了自己的编程能力。
我们相信,通过不断地学习和实践,我们一定能够成为更加优秀的程序员,为社会的发展做出更大的贡献。
java流程控制及数组实验报告

java流程控制及数组实验报告下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!流程控制及数组实验报告。
一、流程控制。
1. 顺序结构。
数组实验报告的总结

一、实验背景随着计算机科学的不断发展,数组作为一种基本的数据结构,在编程中得到了广泛的应用。
为了更好地理解数组的原理和特性,我们进行了数组实验,通过实际操作和理论分析,加深对数组概念的理解。
二、实验目的1. 理解数组的定义、特点和应用场景;2. 掌握数组的创建、访问、修改和删除等基本操作;3. 分析数组在编程中的优势与不足,提高编程能力。
三、实验内容1. 数组的定义与特点数组是一种有序集合,用于存储具有相同数据类型的元素。
数组的元素在内存中连续存放,通过索引访问元素。
数组具有以下特点:(1)元素类型相同:数组中所有元素的数据类型必须相同;(2)连续存储:数组元素在内存中连续存放,便于提高访问速度;(3)索引访问:通过索引快速访问数组元素;(4)动态创建:根据需要动态创建数组,节省内存空间。
2. 数组的创建与初始化在Java中,创建数组主要有以下两种方式:(1)声明数组:int[] array = new int[10]; // 创建一个长度为10的整型数组(2)声明并初始化:int[] array = {1, 2, 3, 4, 5}; // 创建并初始化一个包含5个整数的数组3. 数组的基本操作(1)访问元素:通过索引访问数组元素,如array[0]表示访问第一个元素;(2)修改元素:直接通过索引修改数组元素,如array[1] = 10;;(3)删除元素:在Java中,无法直接删除数组元素,但可以通过重新排序或覆盖元素来实现;(4)查找元素:通过遍历数组,比较元素值,找到目标元素。
4. 数组的应用实例(1)冒泡排序:通过比较相邻元素的大小,实现数组的升序排序;(2)查找算法:如二分查找、线性查找等,通过遍历数组,找到目标元素;(3)动态规划:利用数组存储中间结果,实现复杂问题的求解。
四、实验结果与分析1. 通过实验,我们掌握了数组的定义、特点和应用场景,加深了对数组概念的理解;2. 实验过程中,我们学会了创建、访问、修改和删除数组元素等基本操作,提高了编程能力;3. 在实际应用中,数组在排序、查找、动态规划等方面具有广泛的应用,为编程提供了便利。
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实验报告三[数组与图形用户界面]](https://img.taocdn.com/s3/m/eae164920408763231126edb6f1aff00bed570e3.png)
J a v a面向对象编程实验报告题目: 数组与图形化界面专业:班级:学号:姓名:太原工业学院计算机工程系年月日一、实验目的与要求1.掌握Java编程中的数组的应用2.掌握Java GUI编程的应用以及API的查阅3.掌握Java GUI 窗体容器、布局管理器、基本组件、事件的注册实验内容Java GUI实现如下图简单计算器三、实施步骤1.创建类CalculatorDemo , 继承JFramepackage abc;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionListener;import java.util.Collection;import java.util.HashMap;import java.util.Map;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;public class CalculatorDemo extends JFrame{/*结果输入框*/private JTextField result;/*操作键之前缓存*/private StringBuilder beforeCache = new StringBuilder();/*操作键之后缓存*/private StringBuilder afterCache = new StringBuilder();/*清除键*/private JButton clean;/*数字键*/private JButton[] numberButs = new JButton[10];/*操作键*/private Map<String,JButton> operKeyMap= new HashMap<String,JButton>();/*操作标识*/private boolean operFlag = false;public void setOperFlag(boolean operFlag) {this.operFlag = operFlag;}public CalculatorDemo(){initComp();initMainWindow();addListenerHandler();}/*初始化组件*/private void initComp(){/*清除按钮初始化*/clean = new JButton("清除");/*结果按钮初始化*/result= new JTextField(10);/*数字键初始化*/for(int i=0;i<10;i++){numberButs[i]=new JButton(""+i);}/*操作键的初始化*/operKeyMap.put("jia", new JButton("+"));operKeyMap.put("jian", new JButton("-"));operKeyMap.put("chen", new JButton("*"));operKeyMap.put("dengyu", new JButton("="));operKeyMap.put("dian", new JButton("."));operKeyMap.put("chu", new JButton("/"));}/*** 初始化Main窗体* **/private void initMainWindow(){this.setSize(300, 300);this.setLocation(350, 350);this.add(result,BorderLayout.NORTH);JPanel keyPanle = new JPanel();//设置JPanel的布局(GridLayout)GridLayout gl = new GridLayout(4,4);keyPanle.setLayout(gl);keyPanle.add(numberButs[7]);keyPanle.add(numberButs[8]);keyPanle.add(numberButs[9]);keyPanle.add(operKeyMap.get("chu"));keyPanle.add(numberButs[4]);keyPanle.add(numberButs[5]);keyPanle.add(numberButs[6]);keyPanle.add(operKeyMap.get("chen"));keyPanle.add(numberButs[1]);keyPanle.add(numberButs[2]);keyPanle.add(numberButs[3]);keyPanle.add(operKeyMap.get("jian"));keyPanle.add(numberButs[0]);keyPanle.add(operKeyMap.get("dian"));keyPanle.add(operKeyMap.get("jia"));keyPanle.add(operKeyMap.get("dengyu"));this.add(clean,BorderLayout.CENTER);this.add(keyPanle,BorderLayout.SOUTH);this.setVisible(true);}/*** 注册事件监听* **/private void addListenerHandler(){/*主窗体事件处理*/this.addWindowListener(new MainWindowListenerImpl());/*清除按钮事件处理*/clean.addMouseListener(new MouseListenerImpl());clean.addActionListener(new CleanButtonActionListenerImpl(this));/*数字键事件处理*/for(JButton numBut:numberButs){numBut.addMouseListener(new MouseListenerImpl());numBut.addActionListener(new NumKeyActionListenerImpl(this));}/*操作键事件处理*/Collection<JButton> operButtons= operKeyMap.values();for(JButton operBut:operButtons){operBut.addMouseListener(new MouseListenerImpl());operBut.addActionListener(new OperKeyActionListenerImpl(this));} }/*入口*/public static void main(String[] args) {// TODO Auto-generated method stubnew CalculatorDemo();}public JTextField getResult() {return result;}public StringBuilder getBeforeCache() {return beforeCache;}public StringBuilder getAfterCache() {return afterCache;}public JButton getClean() {return clean;}public JButton[] getNumberButs() {return numberButs;}public Map<String, JButton> getOperKeyMap() {return operKeyMap;}public boolean isOperFlag() {return operFlag;}}2.新建类 CleanButtonActionListenerImpl, 在类的基础上建立接口ActionListener package abc;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JTextField;public class CleanButtonActionListenerImpl implements ActionListener { private CalculatorDemo cal;public CleanButtonActionListenerImpl(CalculatorDemo c){this.cal = c;}@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubJTextField result = cal.getResult();/*获取输入文本*/String resultText= result.getText();if(!resultText.equals("")){//文本內容, 重置為空result.setText("");//緩存清空StringBuilder beforeCache = cal.getBeforeCache();StringBuilder afterCache = cal.getAfterCache();beforeCache.delete(0, beforeCache.length());afterCache.delete(0, afterCache.length());cal.setOperFlag(false);}}}3.新建类 MainWindowListenerImpl, 在类的基础上建立接口WindowListenerpackage abc;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;public class MainWindowListenerImpl implements WindowListener {@Overridepublic void windowActivated(WindowEvent arg0) { // TODO Auto-generated method stub}@Overridepublic void windowClosed(WindowEvent arg0) { // TODO Auto-generated method stub}/**** 当主窗体关闭时, 推出整个程序* */@Overridepublic void windowClosing(WindowEvent arg0) { // TODO Auto-generated method stubSystem.out.println("退出计算器程序");System.exit(0);}@Overridepublic void windowDeactivated(WindowEvent arg0) { // TODO Auto-generated method stub}@Overridepublic void windowDeiconified(WindowEvent arg0) { // TODO Auto-generated method stub}@Overridepublic void windowIconified(WindowEvent arg0) { // TODO Auto-generated method stub}@Overridepublic void windowOpened(WindowEvent arg0) {// TODO Auto-generated method stubSystem.out.print("窗体打开");}}4.新建类 MouseListenerImpl, 在类的基础上建立接口MouseListener package abc;import java.awt.Color;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.util.EventObject;import javax.swing.JButton;public class MouseListenerImpl implements MouseListener {private EventObject event;@Overridepublic void mouseClicked(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseEntered(MouseEvent event) {// TODO Auto-generated method stubJButton bt = (JButton)event.getSource();bt.setForeground(Color.RED);}@Overridepublic void mouseExited(MouseEvent event) {// TODO Auto-generated method stubJButton bt = (JButton)event.getSource();bt.setForeground(Color.BLACK);}@Overridepublic void mousePressed(MouseEvent arg0) {// TODO Auto-generated method stub}@Overridepublic void mouseReleased(MouseEvent arg0) {// TODO Auto-generated method stub}}5. 新建类 NumKeyActionListenerImpl, 在类的基础上建立接口ActionListener package abc;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.EventObject;import javax.swing.JButton;import javax.swing.JTextField;public class NumKeyActionListenerImpl implements ActionListener {private CalculatorDemo cal;public NumKeyActionListenerImpl(CalculatorDemo c){this.cal = c;}@Overridepublic void actionPerformed(ActionEvent event) {// TODO Auto-generated method stub/*获取当前操作的数字键对象*/JButton but =(JButton)event.getSource();/** 1.在没有按下操作键之前,* 所有的数字键的值被缓存到beforeCache*显示到输入框中*//*获取数字键对应的输入值*/String numVaue=but.getText();if(!cal.isOperFlag()){cal.getBeforeCache().append(numVaue);cal.getResult().setText(cal.getBeforeCache().toString());}else{cal.getAfterCache().append(numVaue);cal.getResult().setText(cal.getAfterCache().toString());}}}6.新建类 OperKeyActionListenerImpl, 在类的基础上建立接口ActionListenerpackage abc;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.EventObject;import javax.swing.JButton; import javax.swing.JTextField;public class OperKeyActionListenerImpl implements ActionListener { private CalculatorDemo cal;public OperKeyActionListenerImpl(CalculatorDemo c){this.cal = c;}/* 如果按下操作键盘, 依据操作键表示的操作类型, 执行相关的计算计算步骤: 1>取得操作键之前的缓存输入2>获取操作键之后的数字键输入3>获取相关操作类型, 执行计算*/@Overridepublic void actionPerformed(ActionEvent event) {// TODO Auto-generated method stub/*获取操作键*/JButton but = (JButton)event.getSource();//置空结果显示cal.getResult().setText("");cal.setOperFlag(true);}}四、实验结果五、出现的问题及解决的方法。
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数组的使用和本质,数组相关常用算法(复制及排序方法)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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。
三、数组的遍历和操作
1. for 循环遍历数组:
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
这段代码使用 for 循环遍历数组 numbers,并将每个元素打印出来。
2. 增强型 for 循环遍历数组:
for (int number : numbers) {
System.out.println(number);
}
这段代码使用增强型 for 循环遍历数组 numbers,并将每个元素打印出来。
3. 数组的排序:
使用 Arrays 类的 sort() 方法可以对数组进行排序。
Arrays.sort(numbers);
这行代码将数组 numbers 进行升序排序。
四、多维数组
除了一维数组,Java 还支持多维数组的定义和操作。
多维数组可以理解为数组
的数组,常见的是二维数组。
1. 定义和初始化二维数组:
int[][] matrix = new int[3][3];
这行代码声明了一个名为 matrix 的二维整型数组,它有 3 行 3 列,共 9 个元素。
2. 访问和操作二维数组:
int element = matrix[0][1];
这行代码将二维数组matrix 的第一行第二列的元素赋值给整型变量element。
matrix[0][1] = 10;
这行代码将二维数组 matrix 的第一行第二列的元素修改为 10。
结论:
通过本次实验,我们深入了解了Java 数组的定义、初始化、访问和操作的方法。
数组作为一种重要的数据结构,可以方便地存储和操作大量的数据。
掌握数组
的使用对于编写高效、简洁的程序至关重要。
希望本实验能够帮助大家更好地
理解和运用数组。