JAVA实验报告(全面)
- 格式:doc
- 大小:440.55 KB
- 文档页数:54
Java万能实训报告心得(7篇)Java万能实训报告心得篇1短短的一个月很快就过去了,在这短短的一个月里,我学到了很多,了解了很多。
在这一个月里我学到了有关JAVA等方面的知识,了解了关于软件开发的流程。
了解了自己的不足,知道了自己努力的方向。
回顾这次的实训,这次或许是最后的实训机会。
我是一名大二的学生,明年或许就要出去实习了,所以我很珍惜这次的实训机会,因为它能够让我了解自己的不足以及以后自己努力的方向,同时也能让我了解软件开发的流程,增加一点软件开发经验和社会经验。
让我在以后的实习中会更好的融入到其中,增加自己的就业机会,因为纵观现在的就业形势很不让人乐观,由于之前的经济危机,就业机会越来越少,就业也越来越难,这就给了我们很大的压力,所以要是没有真本事,就业岗位就无从谈起,因此,在以后的学习中,我会更加好好努力。
通过这次的实训,我学到了很多:首先,对JAVA识比以前有了更深的了解。
在这之前由于种.种原因我JAVA学的很不好,编程我几乎写不出来。
但经过这次的实训,我对JAVA的理解,虽然还有很多都不懂,但我会在今后的实训和学习中加以学习了解,力求弄懂,增强自己对JAVA的理解。
其次,在这次的实训中我的动手操作能力有了一点的提高,刚开始的时候JDK的配置,数据库的安装都出现了一定的问题,JAVA 可实话开发工具的不熟悉,所以开始的时候进程很慢,时间都用在了JDK的配置,数据库的安装以及熟悉JAVA可视化开发工具上,但付出有了回报,成功的配置了JDK,安装了数据库,熟悉了JAVA可视化开发工具,总的说来,自己还是有一定的收获的。
因为自己的动手操纵能力得到了提高。
最后是团队协作。
在整个项目完成过程中团队协作有着不可替代的作用。
从在刚拿到项目时对项目的分析到最后的项目完结的都有一定的体现。
刚拿到项目时,我们团队进行了分析,并分配了各自的任务。
当我们其中一人遇到问题的时候,我们其他人都会去帮忙,效率提升了很多。
java实训报告java实训报告(通用9篇)在当下社会,大家逐渐认识到报告的重要性,写报告的时候要注意内容的完整。
那么一般报告是怎么写的呢?下面是小编精心整理的java实训报告,欢迎大家借鉴与参考,希望对大家有所帮助。
java实训报告篇1一、实训目的1.熟练掌握Java面向对象程序设计的基础知识。
2.熟练掌握Java中常用的Swing组件的使用方法。
3.熟练掌握Java程序中图形用户界面设计的方法。
4.熟练掌握使用JDBC操作数据库的方法。
5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。
二、课程设计报告内容2.1 实训内容本课程设计的题目是设计一个简化的仓库管理系统。
该系统从仓库管理人员的角度出发,实现对货物信息、生产商信息的浏览、添加、删除和查询,同时还可以对货物出货、入货进行操作和控制。
设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。
系统功能分析是在系统开发的总体任务的基础上完成的。
该管理系统需要完成的基本功能主要有:用户管理:主要包括用户的添加、修改和删除。
供应商管理:主要包括供应商的添加、删除和修改。
产品管理:主要包括产品的添加、删除和进货、出货。
产品视图管理:主要包括产品查询、数据文件的导入、查询结果集的导出。
2.2 实训设备或软、硬件硬件:PⅣ及以上性能的PC机;软件:Windows 20xx或Windows XP系统;JDK工具;JCreator4.0环境2.3 功能设计及思想本次实训设计采用选择结构化开发方法,即用系统工程的思想和工程化的方法,按照用户至上的原则,自顶向下整体分析与设计和自底向上逐步实施的系统开发过程。
是组织、管理和控制信息系统开发过程的一种基本框架。
其基本思想:在系统分析时,采用自顶向下、逐层分解,由抽象到具体的逐步认识问题的过程;在系统设计的时候,先考虑系统整体的优化,再考虑局部的优化问题;在系统实施的时候,则坚持自底向上,先局部后整体,通过标准化模块的连接形成完整的系统。
java实验实验报告Java 实验实验报告一、实验目的本次 Java 实验的主要目的是通过实际操作和编程实践,深入理解和掌握 Java 编程语言的基本概念、语法结构、面向对象编程的思想以及常用类库的使用。
同时,培养我们解决实际问题的能力和编程思维,提高代码的质量和可读性。
二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容(一)基本语法练习1、数据类型与变量在 Java 中,我们学习了不同的数据类型,如整数类型(`int`、`long`)、浮点数类型(`float`、`double`)、字符类型(`char`)和布尔类型(`boolean`)。
通过定义和使用这些变量,我们能够存储和操作各种类型的数据。
```javaint age = 25;double salary = 500050;char grade ='A';boolean isStudent = true;```2、控制结构包括条件语句(`ifelse`、`switch`)和循环语句(`for`、`while`、`dowhile`)。
这些控制结构使我们能够根据不同的条件执行不同的代码块,或者重复执行一段代码。
```javaint num = 10;if (num > 5) {Systemoutprintln("Number is greater than 5");} else {Systemoutprintln("Number is less than or equal to 5");}switch (num) {Systemoutprintln("One");break;case 10:Systemoutprintln("Ten");break;default:Systemoutprintln("Unknown");}for (int i = 0; i < 5; i++){Systemoutprintln(i);}int count = 0;while (count < 3) {Systemoutprintln("Count: "+ count);count++;}count = 0;Systemoutprintln("Count: "+ count);count++;} while (count < 3);```(二)面向对象编程1、类与对象创建了自定义的类来表示现实世界中的实体。
java毕业实习报告范文3篇毕业实习是实践教学的重要环节也是独立学院人才培养的重要组成部分.本文是店铺为大家整理的java毕业实习报告范文,仅供参考。
java毕业实习报告范文一:作为就业>培训,项目的好坏对培训质量的影响非常大,常常是决定性的作用。
这篇文章是关于在学习JAVA软件开发时练习项目的总结,简单总结为以下几点:1、项目一定要全新的项目,不能是以前做过的2、项目一定要企业真实项目,不能是精简以后的,不能脱离实际应用系统3、在开发时要和企业的开发保持一致4、在做项目的时候不应该有参考代码长话短说就是以上几点,如果你想要更多的了解,可以继续往后看。
一:项目的地位因为参加就业培训的学员很多都是有一定的计算机基础,大部分都具备一定的编程基础,尤其是在校或者是刚毕业的学生,多少都有一些基础。
他们欠缺的主要是两点:(1)不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要。
(2)没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。
解决的方法就是通过项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足,尽快达到企业的实际要求。
二:如何选择项目项目既然那么重要,肯定不能随随便便找项目,那么究竟如何来选择呢?根据Java的研究和实践经验总结,选择项目的时候要注意以下方面:1:项目不能太大,也不能太小这个要根据项目练习的阶段,练习的时间,练习的目标来判断。
不能太大,太大了做不完,也不能太小,太小了没有意义,达不到练习的目的。
2:项目不能脱离实际应用系统项目应该是实际的系统,或者是实际系统的简化和抽象,不能够是没有实战意义的教学性或者是纯练习性的项目。
因为培训的时间有限,必须让学员尽快地融入到实际项目的开发当中去。
任何人接受和掌握一个东西都需要时间去适应,需要重复几次才能够真正掌握,所以每个项目都必须跟实际应用挂钩。
3:项目应能覆盖所学的主要知识点学以致用,学完的知识点需要到应用中使用,才能够真正理解和掌握,再说了,软件开发是一个动手能力要求很高的行业,什么算会了,那就是能够做出来,写出代码来,把问题解决了,你就算会了。
java 实验报告Java 实验报告引言:Java 是一种广泛应用于软件开发的计算机编程语言,具有跨平台、面向对象、简单易学等特点。
本实验报告将介绍我在学习 Java 过程中进行的一系列实验,包括实验目的、实验过程、实验结果和实验总结。
实验一:Hello World 程序实验目的:通过编写一个简单的 Hello World 程序,熟悉 Java 的开发环境和基本语法。
实验过程:1. 安装 Java Development Kit(JDK)并配置环境变量。
2. 使用文本编辑器编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```3. 将代码保存为 HelloWorld.java。
4. 打开命令提示符,切换到代码所在目录,输入以下命令编译代码:```javac HelloWorld.java```5. 输入以下命令运行程序:```java HelloWorld```实验结果:命令提示符中输出 "Hello, World!"。
实验二:数据类型和运算符实验目的:了解 Java 的数据类型和运算符,并能够正确使用它们进行计算。
实验过程:1. 声明并初始化不同类型的变量,例如整数、浮点数和布尔类型。
2. 使用算术运算符进行基本的数值计算。
3. 使用逻辑运算符进行布尔类型的操作。
实验结果:根据实验过程中的代码和输入,得到相应的计算结果。
实验三:条件语句和循环结构实验目的:掌握 Java 中的条件语句和循环结构,能够根据不同的条件执行相应的代码块。
实验过程:1. 使用 if-else 语句实现条件判断。
2. 使用 switch-case 语句实现多分支选择。
3. 使用 for 循环、while 循环和 do-while 循环实现不同的循环结构。
实验一Java开发环境的安装与配置一.实验目的:1.通过本次实验,掌握JDK的安装步骤,理解环境变量PATH,CLASSPATH的作用,以及它们的设置方法。
2.熟悉TextPad(或JCreater) 编辑环境,编写简单的Application程序,并编译和解释执行。
3.掌握JAVA中包的概念,以及包与包的引用关系。
4.记录编译和执行JAVA程序当中的系统错误信息提示,并给出解决办法。
二.实验环境: windows7 myeclipse2015三.实验内容:1.下载并安装JDK为了建立基于SDK 的Java 运行环境,需要先下载Sun 的免费SDK 软件包。
SDK 包含了一整套开发工具,其中包含对编程最有用的是Java 编译器、Applet 查看器和Java 解释器。
Sun公司网址:;2. 设置系统环境变量JDK 中的工具都是命令行工具,要从命令行即MS-DOS 提示符下运行它们。
很多人可能会不习惯,但这是Sun 特意采取的策略,为的是把精力更多地投入到Java 语言本身而不是花在开发工具上。
在桌面“我的电脑”图标上单击右键,选择“属性”菜单,将出现系统特性设置界面,如图所示。
○1、在“系统变量”框中选择“Path”,然后单击“编辑”按钮,在出现的“编辑系统变量”对话框中,在“变量值”栏的命令前添加“C:\j2sdk1.4.2_05\bin;”命令,如图所示。
各个环境变量间用“;”号相隔。
○2、设置环境变量classpath,新建一个环境变量名:classpath,其值为“.;C:\j2sdk1.4.2_05\lib\tools.jar”。
classpath环境变量是java虚拟机寻找类文件的路径,比如程序需要调用的类库文件等,一般常用的类库都包含在tools.jar里。
“.”表示当前目录,一定要加。
○3、设置完成后,单击“开始”→“所有程序”→“附件”→“命令提示符”打开DOS 窗口,在命令提示符下输入“java”或“javac”,回车后,如果出现其用法参数提示信息,则安装正确,如图所示。
java实验报告Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念和方法,以及常用类库的使用。
同时,培养我们的问题解决能力、逻辑思维能力和代码规范意识,为今后的软件开发工作打下坚实的基础。
二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容本次实验共包括以下三个部分:1、 Java 基本语法练习变量与数据类型运算符与表达式控制流语句(ifelse、for、while、dowhile)数组2、面向对象编程实践类与对象的定义和使用构造函数与方法重载封装、继承与多态抽象类与接口3、 Java 常用类库应用String 类与字符串操作集合框架(ArrayList、HashMap)文件输入输出(File、FileReader、FileWriter)四、实验步骤及代码实现1、 Java 基本语法练习变量与数据类型:```javapublic class VariableDataType {public static void main(String args) {int age = 20;double salary = 50005;String name ="张三";boolean isStudent = true;Systemoutprintln("年龄:"+ age);Systemoutprintln("工资:"+ salary);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否是学生:"+ isStudent);}}```运算符与表达式:```javapublic class OperatorExpression {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;int quotient = num1 / num2;int remainder = num1 % num2; Systemoutprintln("和:"+ sum);Systemoutprintln("差:"+ difference);Systemoutprintln("积:"+ product);Systemoutprintln("商:"+ quotient);Systemoutprintln("余数:"+ remainder);}}```控制流语句:```javapublic class ControlFlowStatement {public static void main(String args) {// ifelse 语句int score = 80;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}// for 循环for (int i = 1; i <= 5; i++){Systemoutprintln("第" + i +"次循环");}// while 循环int j = 1;while (j <= 5) {Systemoutprintln("第" + j +"次 while 循环");j++;}// dowhile 循环int k = 1;do {Systemoutprintln("第" + k +"次 dowhile 循环");k++;} while (k <= 5);}}```数组:```javapublic class ArrayExample {public static void main(String args) {//一维数组int numbers ={1, 2, 3, 4, 5};for (int num : numbers) {Systemoutprintln(num);}//二维数组int matrix ={{1, 2, 3},{4, 5, 6},{7, 8, 9}};for (int row : matrix) {for (int num : row) {Systemoutprint(num +"");}Systemoutprintln();}}}```2、面向对象编程实践类与对象的定义和使用:```javapublic class Person {private String name;private int age;public Person(String name, int age) {thisname = name;thisage = age;}public void showInfo(){Systemoutprintln("姓名:"+ name +",年龄:"+ age);}public static void main(String args) {Person person1 = new Person("张三", 20);person1showInfo();}}```构造函数与方法重载:```javapublic class ConstructorOverloading {private String name;private int age;public ConstructorOverloading(String name) {thisname = name;}public ConstructorOverloading(String name, int age) {thisname = name;thisage = age;}public void showInfo(){if (age == 0) {Systemoutprintln("姓名:"+ name);} else {Systemoutprintln("姓名:"+ name +",年龄:"+ age);}}public static void main(String args) {ConstructorOverloading person1 = new ConstructorOverloading("张三");person1showInfo();ConstructorOverloading person2 = new ConstructorOverloading("李四", 25);person2showInfo();}}```封装、继承与多态:```java//父类class Animal {private String name;public Animal(String name) {thisname = name;}public void eat(){Systemoutprintln(name +"正在吃东西");}}//子类继承父类class Dog extends Animal {public Dog(String name) {super(name);}public void bark(){Systemoutprintln(name +"在叫");}}public class InheritancePolymorphism {public static void main(String args) {Animal animal = new Dog("小黑");animaleat();//向下转型为 Dog 类型调用 bark 方法if (animal instanceof Dog) {Dog dog =(Dog) animal;dogbark();}}}```抽象类与接口:```java//抽象类abstract class Shape {abstract void draw();}//实现抽象类的子类class Circle extends Shape {@Overridevoid draw(){Systemoutprintln("画一个圆");}}//接口interface Moveable {void move();}//实现接口的类class Car implements Moveable {@Overridepublic void move(){Systemoutprintln("汽车在移动");}}public class AbstractInterfaceExample {public static void main(String args) {Shape shape = new Circle();shapedraw();Moveable car = new Car();carmove();}}```3、 Java 常用类库应用String 类与字符串操作:```javapublic class StringOperation {public static void main(String args) {String str1 ="Hello, ";String str2 ="World!";String str3 = str1 + str2;Systemoutprintln(str3);int length = str3length();Systemoutprintln("字符串长度:"+ length);char charAt = str3charAt(5);Systemoutprintln("第 5 个字符:"+ charAt);boolean contains = str3contains("World");Systemoutprintln("是否包含 World:"+ contains);}}```集合框架(ArrayList、HashMap):```javaimport javautilArrayList;import javautilHashMap;import javautilMap;public class CollectionFramework {public static void main(String args) {// ArrayListArrayList<String> names = new ArrayList<>();namesadd("张三");namesadd("李四");namesadd("王五");for (String name : names) {Systemoutprintln(name);}// HashMapHashMap<String, Integer> ages = new HashMap<>();agesput("张三", 20);agesput("李四", 25);agesput("王五", 30);for (MapEntry<String, Integer> entry : agesentrySet()){Systemoutprintln(entrygetKey()+"的年龄是" +entrygetValue());}}}```文件输入输出(File、FileReader、FileWriter):```javaimport javaioFile;import javaioFileReader;import javaioFileWriter;import javaioIOException;public class FileIOExample {public static void main(String args) {//写入文件try (FileWriter writer = new FileWriter("outputtxt")){writerwrite("这是写入文件的内容");} catch (IOException e) {eprintStackTrace();}//读取文件try (FileReader reader = new FileReader("outputtxt")){int character;while ((character = readerread())!=-1) {Systemoutprint((char) character);}} catch (IOException e) {eprintStackTrace();}}}```五、实验结果与分析1、 Java 基本语法练习变量与数据类型:能够正确定义和使用各种数据类型的变量,并进行基本的运算和输出。
java实验报告一、实验目的本次实验旨在通过设计和实现一个简单的Java程序,来加深对于Java编程语言的理解和应用。
二、实验过程1. 环境准备在开始实验之前,需要先准备好所需的开发环境。
我选择使用Eclipse进行Java开发,因为它是一个强大且易于使用的集成开发环境。
安装完成后,我创建了一个新的Java项目,并在项目中新建了一个Java类。
2. 设计程序结构在设计程序的过程中,我首先明确了程序的功能和要实现的效果。
然后,我根据需求定义了几个类和方法,并确定它们之间的关系和调用顺序。
这有助于提高程序的可读性和模块化。
3. 编写代码接下来,我开始编写Java代码。
我首先实现了主类,并在其中定义了程序的入口方法main。
然后,我逐步实现了其他类和方法,并进行了测试和调试。
在编写代码的过程中,我注重代码的规范和风格,尽量使用可读性高的命名和注释。
4. 运行程序当代码编写完毕后,我通过Eclipse的运行按钮来启动程序。
在程序运行过程中,我注意观察程序的输出,以确保程序能够按照预期的结果执行。
如果程序出现错误或异常,我会根据错误信息进行排查和修复。
5. 进行实验验证为了验证程序的正确性和稳定性,我设计了一系列的测试用例,并分别对程序进行了测试。
我重点测试了一些边界情况和特殊情况,以确保程序能够正确地处理各种可能的情况。
在测试过程中,我还通过打印调试信息和观察程序的运行情况来帮助分析问题。
三、实验结果与分析经过多次测试和调试,我的Java程序得到了正确的结果,并且在运行过程中没有出现明显的性能问题或错误。
程序能够按照预期的要求输出结果,处理各种边界情况时也能够正确地应对。
通过本次实验,我对于Java编程语言有了更深入的理解和掌握。
我熟悉了Java的基本语法和面向对象的特性,掌握了Java程序的设计和实现方法。
我还学会了如何利用开发工具进行程序的调试和测试,提高程序的质量和可靠性。
在实验过程中,我也遇到了一些困难和挑战。
java 实训报告范文(共 10 篇)辽宁建筑职业学院《Java 高级应用》实训报告课题名称:婚庆公司网站专业:软件技术班级:xxxxxxxxxx学号:姓名:xxxx 指导教师:xxx二O 一三年十二月三十日成绩评定标准:目录一、课程设计目的 ................ .. (3)二、课程设计题目描述和要求 ...... .. (3)三、课程设计报告内容 ............ .. (4)设计方案的论证 .................. .. (4)设计概述 ........................ .. (4)设计步骤 ........................ .. (4)课程设计的模块及功能 .............. .. (4)开发环境......................... .. (8)四、程序流程图与功能结构图 ...... .. (9)五、结论............................ .. (10)六、心得体会 .................... .. (11)七、参考书目 .................... .. (12)八、附录 ........................ .. (13)一、课程设计目的专业能力目标1.掌握规划网站的内容结构,目录结构,链接结构的方法。
2.熟练掌握网页制作软件的基本操作,和使用技能。
3.掌握使用 JAVA 语言进行面向对象设计的基本方法,提高运用分析问题,解决问题的能力。
4.提高我们对 JAVABEN 组建的掌握和运用能力,让我们更熟练应用图像的界面。
5.掌握页面的整体控制和头部内容的设置方法。
6.熟练掌握动态网站相关组件的设计:servelet、javabean、jsp、过滤器等。
7.熟练建立各种形式的超链网站测试的方法。
通用能力目标1、合理安排自己的任务及时间,来完成本次课题。
大学生java实训总结报告6篇篇1一、实训背景与目标本次Java实训旨在通过实践操作,加深大学生对Java编程语言的理解与掌握,提高实际项目开发能力。
在为期一个月的实训期间,我们小组围绕Java SE基础、Java Web开发、数据库操作等内容进行了系统学习和实践。
通过本次实训,我们期望达到以下目标:1. 深入理解Java核心技术与编程思想。
2. 掌握Java Web开发的基本流程和关键技术。
3. 学会使用至少一种数据库进行Java程序与数据库的交互。
4. 具备一定的项目开发和团队协作能力。
二、实训内容与过程1. Java SE基础实训在实训初期,我们重点复习和巩固了Java SE基础知识,包括数据类型、运算符、流程控制、面向对象编程等。
通过编写简单的控制台程序,我们实践了异常处理、集合类、泛型以及多线程编程。
2. Java Web开发实训随后,我们转向Java Web开发的学习。
通过学习和实践,掌握了基于Servlet和JSP的Web开发技术。
同时,学习了HTML、CSS和JavaScript等前端技术,并练习了前后端数据的交互。
此外,还了解了MVC设计模式在Web开发中的应用。
3. 数据库操作实训在数据库操作方面,我们主要学习了SQL语言以及JDBC操作数据库的技术。
通过实践操作,我们能够在Java程序中实现数据的增删改查,并学会了使用ORM框架进行对象与数据库表的映射。
4. 项目开发实践在实训的最后阶段,我们以小组形式进行了一个小型项目——在线图书管理系统。
通过项目的开发,我们综合运用了前面学到的知识,包括Web开发技术、数据库操作等。
在项目开发过程中,我们学会了如何分工合作,如何进行有效的项目管理。
三、实训收获与体会1. 提升了编程能力。
通过实训,我们对Java编程语言有了更深入的了解,编程能力得到了显著提高。
2. 增强了项目开发经验。
项目开发的实践让我们体验到了软件开发的流程,学会了如何在项目中运用所学知识。
专业:计算机科学与技术班级:学号:姓名:书剑实验一、Java语言基础实验目的1、掌握Java基本数据类型、操作符。
2、熟练掌握while或do-while或for循环语句使用方法。
3、了解Java程序的运行机制。
4、熟悉java开发软件环境netbeans或eclipse的使用方法。
实验题目:1.2.程序设计思想1、将整个棱形分为上下两部分,分别用两个嵌套的for循环实现这两部分星星的打印输出。
2、根据公式的特性设置变量j来控制每一项的正负,再用for循环来实现整个公式的计算求和。
实验源代码:1.public class Nsj {public static void main(String[] args) {for (int i=1;i<=5;i++){for (int j=5;j>=i;j--)System.out.print (" ");for (int k=1;k<=2*i-1;k++)System.out.print("*");System.out.print("\n");}for(int m=4;m>=0;m--){for(int p=5;p>=m;p--)System.out.print(" ");for(int n=1;n<=2*m-1;n++)System.out.print("*");System.out.print("\n");}}}2. public class Pai {public double cal(int n){double result=4;for(int i=1;i<=n;i++){int a=(int)(Math.pow(-1, (int)i)*(i*2+1));result=result+4/(double)a;}return result;}public static void main(String[] args) {// TODO code application logic herePai pai=new Pai();double pi=pai.cal(1000000);System.out.println(pi);}}测试与运行1.2.1.在调试程序的过程中遇到菱形前面的空格显示不出来,原来是多出了一个“;”。
实验小结1.了解JAVA的运用基础,懂得实质性的变通,利用函数来实现程序2.注意编写代码时候的细节问题,认真对待3.通过本次试验学会了如何配置环境变量,了解Java的运行环境及Java的运行过程。
4.掌握了Java基本数据类型、操作符的运用,熟练掌握了while或do-while 或for循环语句使用方法,进一步了解了Java程序的运行机制,熟悉了java 开发软件netbeans的使用方法。
实验二、Java面向对象实验目的1、了解使用if—else,break语句实现循环。
2、熟练掌握一位数组和二维数组的概念、定义和使用。
3、掌握接口的特点、结构和调用。
4、掌握线性表的顺序和链式存储结构。
实验题目:实现线性表• 1. 定义一个接口,统一线性表的操作• 2. 用顺序表的实现该接口• 3.用链表实现该接口• 4.定义Iterator接口,在顺序表和链表中分别实现Iterator接口,实现对线性表的遍历。
• 5.增加泛型的实现• 6.自定义异常类处理异常程序设计思想1.创建一个包,然后分别建立LinkedList,SeqList,然后重载写入来分段完成实验源代码:1.Iterator.javapackage Iterator;public interface Iterator<E> {public void Insert(int i,E x);public E Delete(int i);public E Get(int n);public void Update(int i,E x);public void MakeEmpty();public void Print();}* LinkedList.javapackage Iterator;import java.util.Scanner;class Node<E>{E data;Node<E> next;}public class LinkedList<E> implements Iterator<E> { Node<E> head=new Node<E>();public LinkedList(E[] a, int n){Node<E> pNode=head;for(int i=0;i<n;i++){//初始化链表Node<E> sNode = new Node<E>();sNode.data=a[i];sNode.next=pNode.next;pNode.next=sNode;pNode=sNode;}pNode.next=null;}@Overridepublic void Insert(int i,E x){Node<E> p=head;int j = 0;while(p!=null && j<i-1){p=p.next;j++;}if(p==null)System.out.print("failed");else{Node<E> r=new Node<E>();r.data=x;r.next=p.next ;p.next=r;}}@Overridepublic E Delete(int i){Node<E> p=head;for(int j=0;j<i-1;j++)p=p.next;E x=p.next.data;p.next=p.next.next;return x;}@Overridepublic E Get(int n){int j=0;Node<E> p=head;while(p!=null && j!=n){p=p.next;j++;}if(p==null){System.out.print("Error");return null;}elsereturn p.data;}@Overridepublic void Update(int i,E x){Node<E> p=head;int j=0;while(p!=null && j<i-1){p=p.next;j++;}if(p==null){System.out.print("Failed");} else{p.next.data=x;}}@Overridepublic void MakeEmpty(){head.next=null;}@Overridepublic void Print(){Node<E> p=head.next;while(p!=null){System.out.print(p.data+" ");p=p.next;}}public static void main(String args[]){Integer[] a={1,2,3,4,5,6};LinkedList<Integer> b=new LinkedList<Integer>(a,6);System.out.print("原数组:");b.Print();System.out.println();while(true){System.out.print("请输入数字(1添加,2删除,3修改;4查找,5置空,6改后数组):");Scanner q=new Scanner(System.in);int i=q.nextInt();switch(i){case 1:System.out.print("第i1个地方,i1=");Scanner q1=new Scanner(System.in);int i1=q1.nextInt();System.out.print("添加的数n1,n1=");int n1=q1.nextInt();System.out.print("第"+i1+"个地方添加个数"+n1+",后数组为:");b.Insert(i1, n1);b.Print();System.out.println();break;case 2:System.out.print("第i2个地方,i2=");Scanner q2=new Scanner(System.in);int i2=q2.nextInt();System.out.print("删除第"+i2+"个数,后数组为:");b.Delete(i2);b.Print();System.out.println();break;case 3:System.out.print("第i3个地方,i3=");Scanner q3=new Scanner(System.in);int i3=q3.nextInt();System.out.print("修改的数n3,n3=");int n3=q3.nextInt();System.out.print("把第"+i3+"个数改为"+n3+",后数组为:");b.Update(i3, n3);b.Print();System.out.println();break;case 4:System.out.print("第i4个地方,i4=");Scanner q4=new Scanner(System.in);int i4=q4.nextInt();System.out.print("查找第"+i4+"个数为:");b.Get(i4);System.out.println(b.Get(i4));break;case 5:System.out.print("MakeEmpty");b.MakeEmpty();b.Print();System.out.println();break;case 6:b.Print();System.out.println();break;}}}}* SeqList.javapackage Iterator;import java.util.Scanner;public class SeqList<E> implements Iterator<E>{ private E[] a=(E[]) new Object[100];private int length;public SeqList(E[] b,int n){System.arraycopy(b, 0, a, 0, n);length=n;}@Overridepublic void Insert(int i,E x){if(i<=length+1 && i>0){for(int j=length;j>i-1;j--)a[j]=a[j-1];a[i-1]=x;length++;}else {System.out.print(":错误,无法添加到此位置!!!");}} @Overridepublic E Delete(int p){if(p<=length && p>0){E t=a[p-1];for(int i=p-1;i<length;i++)a[i]=a[i+1];length--;return t;}else {System.out.print(":错误,此位置不存在数,无法删除!!!");}return null;}@Overridepublic E Get(int n){if(n<length && n>=0){System.out.println(a[n-1]);return a[n-1];}elseSystem.out.println("错误,此位置不存在数,无法查到!!!");return null;}@Overridepublic void Update(int i,E x){if(i<=length && i>0)a[i-1]=x;elseSystem.out.print(":错误,此位置不存在数,无法修改!!!");}@Overridepublic void MakeEmpty(){length=0;}@Overridepublic void Print(){if(length>0){for(int i=0;i<length;i++)System.out.print(a[i]+" ");}elseSystem.out.print("数组为空!!!");}public static void main(String args[]){Integer[] a={1,2,3,4,5,6};SeqList<Integer> b=new SeqList<Integer>(a,6);System.out.print("原数组:");b.Print();System.out.println();while(true){System.out.print("请输入数字(1添加,2删除,3修改;4查找,5置空,6改后数组):");Scanner q=new Scanner(System.in);int i=q.nextInt();switch(i){case 1:System.out.print("第i1个地方,i1=");Scanner q1=new Scanner(System.in);int i1=q1.nextInt();System.out.print("添加的数n1,n1=");int n1=q1.nextInt();System.out.print("第"+i1+"个地方添加个数"+n1);b.Insert(i1, n1);System.out.println();break;case 2:System.out.print("第i2个地方,i2=");Scanner q2=new Scanner(System.in);int i2=q2.nextInt();System.out.print("删除第"+i2+"个数");b.Delete(i2);System.out.println();break;case 3:System.out.print("第i3个地方,i3=");Scanner q3=new Scanner(System.in);int i3=q3.nextInt();System.out.print("修改的数n3,n3=");int n3=q3.nextInt();System.out.print("把第"+i3+"个数改为"+n3);b.Update(i3, n3);;System.out.println();break;case 4:System.out.print("第i4个地方,i4=");Scanner q4=new Scanner(System.in);int i4=q4.nextInt();System.out.print("查找第"+i4+"个数为:");b.Get(i4);break;case 5:System.out.print("MakeEmpty");b.MakeEmpty();System.out.println();break;case 6:b.Print();System.out.println();break;}}}}实验结果:实验小结:1.定义Iterator接口,在LinkedList,SeqList两种表中分别实现Iterator 接口,实现对线性表的遍历,实验时必须要分清这2种表各自的特点,注意细节。