java程序设计实验报告
java语言程序设计实验报告

java语言程序设计实验报告篇一:Java实验八报告《Java语言程序设计》实验报告学生姓名:郭倩班级:信息112学号:201152275208实验地点:经管实验中心证券实验室指导教师:赵利平实验日期:实验环境:Windows 2000+JDK1.61. 实验目的(1)理解子类派生的概念(2)学习创建子类对象(3)掌握方法覆盖的使用2.实验内容(1)设计三个类:完成实验教材P52页程序清单4-2;(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;2. 实验过程报告撰写具体要求:上述实验内容要求写出源代码及运行结果。
实验内容(1)://Polymorphism.abstract class Student{final static int CourseNo=3;String name;String type;int[] courses;String courseGrade;public Student(String name){=name;courses=new int[CourseNo];courseGrade=null;}public abstract void calculateGrade();public String getName(){return name;}public String getType(){return type;}public String getCourseGrade(){return courseGrade;}public int getCourseScore(int courseNumber){return courses[courseNumber];}public void setName(String name){=name;}public void setType(String type){this.type=type;}public void setCourseScore(int courseNumber,int courseScore){this.courses[courseNumber]=courseScore;}}class Undergraduate extends Student{public Undergraduate(String name){super(name);type="本科生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=80&&average<100) coursegrade="优秀" else="" average="">=70&&average<80) coursegrade="良好" else="" average="">=60&&average<70) coursegrade="一般" else="" average="">=50&&average<60) courseGrade="及格";else courseGrade="不及格";}}class Postgraduate extends Student{public Postgraduate(String name){super(name);type="研究生";}public void calculateGrade(){int total=0;double average=0;for(int i=0;i<CourseNo;i++){total+=courses[i];};average=total/CourseNo;if(average>=90&&average<100) coursegrade="优秀" else="" average="">=80&&average<90) coursegrade="良好"else="" average="">=70&&average<80) coursegrade="一般" else="" average="">=60&&average<70) courseGrade="及格";else courseGrade="不及格";}}public class Polymorphism{public static void main(String[] args){Student[] students=new Student[5];students[0]=new Undergraduate("陈建平");students[1]=new Undergraduate("鲁向东");students[2]=new Postgraduate("匡晓华");students[3]=new Undergraduate("周丽娜");students[4]=new Postgraduate("梁欣欣");for(int i=0;i<5;i++){students[i].setCourseScore(0,87);students[i].setCourseScore(1,90);students[i].setCourseScore(2,78);}for(int i=0;i<5;i++){students[i].calculateGrade();}System.out.println("姓名"+" 类型"+" 成绩");}}System.out.println("-------------------------"); for(int i=0;i<5;i++){ System.out.println(students[i].getName()+" "+students[i].getType()+" "+students[i].getCourseGrade()); }(1) 都有(2) Student[] students=new Student[5];(3) Student是抽象的,不能用new操作符创建抽象类的实例。
《JAVA程序设计》实验报告5

《JAVA程序设计》实验报告5实验单元五Java 类的应用、继承实验六Java类的应用实验时间: 4.4【实验目的】1、定义自己的Java类。
2、能够应用类。
【实验环境】JDK、Eclipse【实验内容】1.定义一个学生类,包括属性:学号、姓名、年龄(取值介于0-100之间)、成绩(取值介于0-100之间),定义一个方法显示学生信息。
并测试该类。
2.定义一个长方形类,有长、宽属性,并给出计算面积及周长的方法。
并测试该类。
3.设计一个人类Person,包含姓名,年龄,性别基本信息,修饰为私有的设计一个人类Person,包含姓名,年龄,性别基本信息,修饰为私有的;定义构造方法,用来初始化基本信息;定义方法show,用来显示基本信息值。
测试该类。
4.建立一个名叫Cat的类:属性:姓名、毛色、年龄行为:显示姓名、喊叫请编写主类:创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。
5.类的成员变量请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等方法移动(move())设置速度(setSpeed(int speed))加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象并通过方法给它初始化speed,size的值并且通过打印出来。
另外调用加速减速的方法对速度进行改变。
【详细分析】(此项由学生自己完成)【实验源码】(此项由学生自己完成)1.定义一个学生类,包括属性:学号、姓名、年龄(取值介于0-100之间)、成绩(取值介于0-100之间),定义一个方法显示学生信息。
并测试该类。
代码:package ch5;public class Student {public int no;public String name;public int age;public int cg;public void setNo(int no){this.no=no;}public void setName(String name){=name;}public void setAge(int age){this.age=age;if(age>0&&age<=100);elseSystem.out.println("请输入合法的年龄值:");}public void setCg(int cg){this.cg=cg;if(cg>0&&cg<=100);elseSystem.out.println("请输入合法的成绩值:");}}package ch5;public class StudentText {public static void main(String[] args) {// TODO Auto-generated method stubStudent stu=new Student();stu.setNo(12);System.out.println("学号:"+stu.no);stu.setName("lihua");System.out.println("姓名:"+);stu.setAge(18);System.out.println("年龄:"+stu.age);stu.setCg(21);System.out.println("成绩:"+stu.cg);}}2.定义一个长方形类,有长、宽属性,并给出计算面积及周长的方法。
《Java程序设计》上机实验报告 实验五 流、文件及基于文本的应用

信息科学与工程学院《Java程序设计》上机实验报告专业班级姓名学号主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)2.编写一个程序,能将一个源程序中的空行及注释去掉,并将处理后的内容写到目标文件中。
(源文件名称和目标文件名称均要求以命令行参数形式输入)import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;public class CopyFile {static String delComm(String s){if(s==null)return s;int pos=s.indexOf("//"); //去掉以//开始的注释if(pos<0)return s;return s.substring(0,pos);}public static void main(String args[]){String infname="CopyFile.java";String outfname="CopyFile.txt";if(args.length>=1)infname=args[0];if(args.length>=2)outfname=args[1];try{File fin=new File(infname);File fout=new File(outfname);BufferedReader in = new BufferedReader(new FileReader(fin));PrintWriter out = new PrintWriter(new FileWriter(fout));int cnt=0;String s = in.readLine(); //写字符串while(s != null){主要实验记录及个人小结(包括部分实验源程序、调试结果及实验结果分析等)cnt ++;s=delComm(s); //去掉以//开始的注释out.println(cnt+":\t"+s);//写出s=in.readLine(); //读入}in.close(); //关闭缓冲读入流及文件读入流的连接out.close();}catch (FileNotFoundException e1){System.out.println("File not found");}catch(IOException e2){e2.printStackTrace();}}}主要问题的出错现象:1)运行程序后,无对应的输出结果出现2)源程序编写过程中,出现方法和类的调用无法完成.出错原因:1)函数调用时候,相关函数输入变量错误2)方法名的书写不符合规范,使得方法变为变量.解决方法及效果:1) 编写和调用类的方法时,注意参数的类型和数量的对应.2)规范命名.常量用大写字母,变量用小写字母开始,类以大写字母开始.实验小结:1) 为每个类分配正确的职责.尽量保持类功能单一. 不要在一个类中做太多事.2) BufferedReader的方法:readLine():String ,当他的返回值是null时,就表示读取完毕了。
《JAVA程序设计》实验报告.

《JAVA程序设计》实验报告1姓名学号日期实验题目输出自己姓名年龄身高体重,通过控制台和Eclipse运行程序初稿package schooltext;public class MyselfPrint {public static void main(String[] args) { System.out.println("ÐÕÃû£ºÑîÊËÇÙ£¬ÄêÁ䣺18£¬Éí¸ß£º160cm£¬ÌåÖØ£º100½ï ");}}所遇问题及解决办法调试后的程序代码package schooltext;public class MyselfPrint {public static void main(String[] args) { System.out.println("ÐÕÃû£ºÑîÊËÇÙ£¬ÄêÁ䣺18£¬Éí¸ß£º160cm£¬ÌåÖØ£º100½ï ");}}输出结果ÐÕÃû£ºÑîÊËÇÙ£¬ ÄêÁ䣺18£¬Éí¸ß£º160cm£¬ÌåÖØ£º100½ï 《JAVA程序设计》实验报告2《JAVA程序设计》实验报告3《JAVA程序设计》实验报告4输出结果《JAVA程序设计》实验报告5姓名杨仕琴学号54121022 日期10.13实验题目编写Calculater.java,实现一个简单计算器,要求布局,可以完成加减乘除。
《Java程序设计》实验报告 --实验3

else if(e.getSource()==buttontwo){//按键2操作
tf.setText(tf.getText()+"2");
flag1=Double.parseDouble(tf.getText());
}
else if(e.getSource()==buttonthree){//按键3操作
buttondevision=new JButton("/");
buttonsin=new JButton("sin");
buttontozero=new JButton(">0");
paneleast.setLayout(new GridLayout(3,1));//设置西边的布局为3行1列
//将操作按钮"+""-""*""/""sin"">0"添加到西边的面板中
JButton buttonplus,buttonminus,buttonmultiple,buttondevision,
buttonsin,buttontozero;//新建按钮"+""-""*""/""sin"和归零按钮
JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix,
panelcenter.add(buttonthree);
panelcenter.add(buttonfour);
panelcenter.add(buttonfive);
JAVA语言程序设计实验报告

实验一、安装JDK并熟悉java的运行环境实验二、基本语法练习实验三、面向对象编程实验(4)实验四、异常处理实验实验五、小应用程序实验实验六、图形图像实验实验七、GUI(图形用户接口)实验(4)实验八、多线程实验实验九、输入输出流实验(4)实验十、数据库应用实验(4)实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。
二、预习内容安装工具软件的基本方法。
三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容安装Eclipse及JA V A的核心编译程序J2SDK。
1、打开Eclipse的安装盘安装Eclipse。
2、在相同目录下安装J2SDK。
3、打开Eclipse软件对J2SDK文件进行配置。
4、编写一应用程序,在屏幕上显示“HELLO WORLD”和爱心标志。
Pulic class Hello{public static void main(String args[]){//在屏幕上显示“HELLO WORLD”和爱心标志}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”和爱心标志。
实验结果五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、说明本次实验建议学时数2学时七、实验总结与体会实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(Eclipse )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。
应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。
(1)编辑A verage.java。
class A verage{public static void main(String args[ ]){double n,sun=0;for (int l=0;l<args.legth;l++){sum=sum+Double.valueOf(arg[l].doubleV alue();)}n=sum/args.length;System.out.println(“average=”+n);}}命令行参数:12.34 34.45 21212121注意:1)参数的个数可以利用args.length来取得。
java实训报告6篇

java实训报告java实训报告6篇在不断进步的时代,大家逐渐认识到报告的重要性,通常情况下,报告的内容含量大、篇幅较长。
一起来参考报告是怎么写的吧,以下是小编整理的java实训报告,欢迎阅读与收藏。
java实训报告1在上学期的最后一周和本学期的第一周,我和同组的学员在学校机房进行了JAVA暑期实训,现在已经结束了。
回首上学期的java学习,重点还是在学习概念等一些常识性的东西,Application应用程序和Applet小程序,它的开发工具、数据类型、变量、接口、输入输出流等。
学会分析异常,抛出异常,后期主要是小程序运用,Gui界面设计和事件。
我觉得这两种程序结构有很大的不同,不管是体系结构还是运行方式,都有很大的区别,而我主要偏向于小程序的学习。
因为我感觉它实用性比较大,可以做出很多不错的游戏、运用程序等,而且它比较灵活。
当然学知识不能仅凭自己的爱好和一时兴趣,要一步一个脚印、认认真真、踏踏实实,理论与实践相结合。
在掌握课本实例和内容之后,要有一定的扩展阅读和课外学习,充分全面的了解JAVA的应用和扩展运用。
在我所学的语言当中,我自认为JAVA是一门比较强大的面向对象编程语言。
不仅仅因为它的跨平台性,更多的是因为它的灵活多变和实用性,而且它比较的经典和强悍。
这次实训,面对老师布置的任务,一开始有些慌张和无措。
不过,事后我首先想到这和课本上的某些知识具有结合点,回忆和分析了老师教过的算法和具体实施方法,并综合考虑了其他的方面。
在编写时,一个小小的符号、一个常量变量的设定,这都无不考量着我的细心和严谨。
所以学习JAVA,不仅对我们以后学习其他语言有很大的好处,而且也让我们知道了和理解了作为一个编程人员首先应具有的良好心理素质,那就是冷静思考和专心致志。
在此次实训中,我意识到一个好的编程人员要善于沟通和团结拼搏。
实训结束后,我觉得要学好一门计算机语言必须牢记以下几点:1. 态度第一2.兴趣是关键3.敢于挑战4.不懈追求实训结束了,大家都有一种解脱的感觉。
java程序设计实验报告

java程序设计实验报告
实验一:实现个人信息管理系统
实验目的:学习如何使用Java语言来完成一个简单的面向对象程序设计。
实验内容:
本次实验的任务是开发一个个人信息管理系统,可以完成一些基本的信息管理功能,如增加、删除、查询和修改个人信息等。
实验步骤:
1. 定义Person类并实现其属性和方法。
2. 在主类中实现简单的用户交互界面。
3. 实现文件持久化,将程序中的信息储存在文件中。
4. 实现增加、删除、查询和修改个人信息的功能。
实验结论:
通过本次实验,我学会了如何使用Java语言来实现一个简单的面向对象程序设计。
在开发过程中,我学会了如何定义类、实现属性和方法,如何进行用户交互界面的设计,以及如何将程序中的信息储存在文件中。
java_实验四

武汉工程大学计算机科学与工程学院实验报告[4]一、实验目的1)了解Java.awt包及Swing的新增特性。
2)了解Java系统图形用户界面的基本工作原理和界面设计的步骤。
3)了解图形用户界面的事件响应机制。
4)了解图形用户界面各种常用的基本组件的使用方法及其事件响应。
5)掌握Java常用组件的应用6)掌握图形用户界面各种布局策略的设计与使用二、实验要求1)创建一个简单的图形用户界面。
2)使用Java类库中提供的组件,并添加到图形用户界面中。
3)通过Java事件处理机制,实现与用户的交互信息。
4)练习使用布局管理器5)使用Java类库中提供的组件,并添加到图形用户界面中6)通过Java事件处理机制,实现与用户的交互信息三、实验内容对一个优秀的应用程序来说,良好的图形用户界面是必不可少的。
因为只有通过图形界面,用户才能够与程序友好的交互。
缺少良好的图形用户界面,将会给用户理解和应用程序带来很多不便。
创建一个完整的图形用户界面的应用程序大致流程如下:1)引用需要的包和类。
2)设置一个顶层的容器。
3)根据需要为容器设置布局管理器或使用默认布局管理器。
4)将组件添加到容器内,位置自行设计。
5)为响应事件的组件编写事件处理代码。
下面我们先建立一个简单的图形用户界面,然后通过合适的布局管理器,将各种常用组件添加到图形用户界面中,实现与用户的交互信息。
1. 创建简单的图形用户界面(1)创建简单的 Frame 框架在 AWT 库中,对应于框架的类是 Frame,在 Swing 库中,相应的类是 JFrame。
JFrame 类扩展了 Frame 类。
大部分 ATWT 组件在 Swing 中都有等价的组件,它们在表示形式上差一个“J”。
框架是一个容器,可以在这个容器中放入其他一些图形用户界面组件,如按钮、菜单等,从而组成一个功能完善的程序。
下面的例子是建立一个 Frame 框架,通过这个例子学习如何创建一个简单的图形用户界面。
java实验报告:实验六

java实验报告:实验六一、实验目的本次实验的主要目的是深入理解和掌握 Java 中的一些关键概念和技术,包括面向对象编程的特性、异常处理机制以及文件操作等。
通过实际的编程实践,提高我们运用 Java 解决实际问题的能力。
二、实验环境本次实验使用的开发工具是 IntelliJ IDEA,操作系统为 Windows 10。
三、实验内容(一)面向对象编程实践1、定义一个名为“Student”的类,包含学生的姓名、学号和成绩等属性,并实现相应的 getter 和 setter 方法。
2、在主函数中创建“Student”类的对象,并对其属性进行赋值和输出。
(二)异常处理1、编写一个方法,实现两数相除的运算。
如果除数为 0,抛出“ArithmeticException”异常。
2、在主函数中调用该方法,并使用trycatch 语句捕获并处理异常。
(三)文件操作1、创建一个文本文件,并向其中写入一些数据。
2、读取该文件中的数据,并将其输出到控制台。
四、实验步骤(一)面向对象编程实践1、首先,在 IntelliJ IDEA 中创建一个新的 Java 项目。
2、然后,创建“Student”类,代码如下:```javapublic class Student {private String name;private int studentId;private double score;public String getName(){return name;}public void setName(String name) {thisname = name;}public int getStudentId(){return studentId;}public void setStudentId(int studentId) {thisstudentId = studentId;}public double getScore(){return score;}public void setScore(double score) {thisscore = score;}}```3、在主函数中创建“Student”类的对象,并对其属性进行赋值和输出,代码如下:```javapublic class Main {public static void main(String args) {Student student = new Student();studentsetName("张三");studentsetStudentId(1001);studentsetScore(905);Systemoutprintln("学生姓名:"+ studentgetName());Systemoutprintln("学生学号:"+ studentgetStudentId());Systemoutprintln("学生成绩:"+ studentgetScore());}}```(二)异常处理1、编写一个名为“divide”的方法,实现两数相除的运算,代码如下:```javapublic class ExceptionHandling {public static double divide(double num1, double num2) {if (num2 == 0) {throw new ArithmeticException("除数不能为 0");}return num1 / num2;}public static void main(String args) {try {double result = divide(10, 0);Systemoutprintln("结果:"+ result);} catch (ArithmeticException e) {Systemoutprintln("捕获到异常:"+ egetMessage());}}}```(三)文件操作1、创建一个名为“FileOperation”的类,用于实现文件的写入和读取操作,代码如下:```javaimport javaioBufferedWriter;import javaioFileWriter;import javaioIOException;import javaioBufferedReader;import javaioFileReader;public class FileOperation {public static void writeToFile(String filePath, String content) {try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))){writerwrite(content);} catch (IOException e) {eprintStackTrace();}}public static String readFromFile(String filePath) {StringBuilder content = new StringBuilder();try (BufferedReader reader = new BufferedReader(new FileReader(filePath))){String line;while ((line = readerreadLine())!= null) {contentappend(line)append("\n");}} catch (IOException e) {eprintStackTrace();}return contenttoString();}public static void main(String args) {String filePath ="testtxt";String data ="这是写入文件的内容";writeToFile(filePath, data);String readData = readFromFile(filePath);Systemoutprintln("读取到的文件内容:\n" + readData);}}```五、实验结果(一)面向对象编程实践成功创建了“Student”类的对象,并正确地对其属性进行了赋值和输出。
java实训报告(7篇)

java实训报告java实训报告(7篇)随着社会一步步向前发展,报告的使用成为日常生活的常态,其在写作上有一定的技巧。
一听到写报告马上头昏脑涨?以下是小编收集整理的java实训报告,仅供参考,希望能够帮助到大家。
java实训报告1内蒙古商贸职业学院计算机系学生校内实验实训报告20 --20 学年第学期系部:计算机系课程名称:Java程序设计教程专业班级:内蒙古商贸职业学院计算机系制填写说明1、实验项目名称:要用最简练的语言反映实验的内容,要与实验指导书或课程标准中相一致。
2、实验类型:一般需要说明是验证型实验、设计型实验、创新型实验、综合型实验。
3、实验室:实验实训场所的名称;组别:实验分组参加人员所在的组号。
4、实验方案设计(步骤):实验项目的设计思路、步骤和方法等,这是实验报告极其重要的内容,概括整个实验过程。
对于操作型实验(验证型),要写明需要经过哪几个步骤来实现其操作。
对于设计型和综合型实验,在上述内容基础上还应该画出流程图和设计方法,再配以相应的文字说明。
对于创新型实验,还应注明其创新点、特色。
5、实验小结:对本次实验实训的心得体会、思考和建议等。
6、备注:分组实验中组内成员分工、任务以及其他说明事项。
注意:①实验实训分组完成的,每组提交一份报告即可,但必须说明人员分工及职责。
不分组要求全体成员独立完成的实验实训项目可由指导老师根据个人完成情况分组填写。
②实验成绩按照百分制记,根据教学大纲及课程考核要求具体区分独立计算、折算记入两种情况。
③本实验实训报告是根据计算机系实验的具体情况在学院教务处制的实验实训报告的基础上进行改制的。
特此说明。
成绩单组别:小组成员:篇二:实训总结实训收获总结报告学部:计算机信息学院学科门类:计算机信息类专业:计算机应用技术姓名:朱恩林学号:12310020020实习单位:北京盛威南凌信息科技有限公司指导教师:王洪钊实习时间:20xx年5月15号—9月23号一、实训目的计算机信息管理专业的java实训在教学计划中是实训、实习课程。
java实训报告总结范文(精选3篇)

java实训报告总结范文(精选3篇)java实训报告总结范文篇1一、课程设计名称及主要内容:1、课程设计名称:时钟动画2、课程设计的主要内容:以下题目任选一个:(1)图形界面类,如科学计算器、绘图板、日历、游戏程序等。
(2)动画类,编制功能较复杂、效果较好的Applet动画程序。
(3)数据处理类,如学生学籍、课程成绩、图书编目、仓库货物等数据录入查询程序。
(4)其他类型,自选题目,须经指导老师同意。
我所选的题目是动画类的Applet动画程序,主要任务是用Java 程序设计一个时钟动画。
二、程序的设计思想和流程图:1、设计思想:现在的各种时钟花样百出,千奇百怪,功能亦是越来越先进了。
我很喜欢这些各式各样的时钟,所以希望自己也能设计出一个来。
于是,我希望自己能够用自己所学的Java知识设计出一个自己的时钟动画,即使是最简单的,但我相信这是暂时的。
只要我能够努力学好Java知识,将来一定能够设计出更好更完美的时钟动画。
2、流程图:三、程序介绍:1、设计方法及步骤:λ题目分析:根据《课程设计任务书》要求,分析题目,构造出程序的基本思路(算法设计)。
画出程序设计结构框图。
λ构造数据结构:根据程序结构框图和题目分析结果(采用算法),构造程序所用各项数据,各种窗体及他们之间的联系。
λ构造程序框架:在窗体确定之后,根据算法设计出所用各个窗体之间的调用关系。
λ程序设计:①画出程序功能框图和结构框图;②根据框图设计程序;③编译程序调试程序,使程序可以使用;④完备程序功能。
λ程序打包:所设计程序汇总,将程序分类归入相应子目录,完成程序所有设计要求。
2、完成情况:经过一系列的Java程序代码的设计,虽然过程中遇到了许多的问题,但是最终解决了所有的问题,准确的设计出了时钟动画,运行情况正常。
3、类的关系:“public class AnimatorDemo”是公共类,且是程序中的唯一的一个类。
4、构造方法、成员变量和成员方法的功能说明:“Thread timer”用于显示时钟的线程;“SimpleDateFormat formatter”用于格式化时间显示; “String lastdate”用于保存当前时间的字符串;“Font clockFaceFont”用于设置显示时钟里面的数字的字体; “Date currentDate”用于显示当前时间;“Color handColor”用于显示时针、分针和表盘的颜色; “Color numberColor” 用于显示秒针和数字的颜色; “public void init”用于设计时钟格式并捕捉异常;“public void plotpoints(int x0, int y0, int x, int y, Graphics g)”用于计算四分之一的圆弧;“public void circle(int x0, int y0, int r, Graphics g”) 用Bresenham算法来画圆,其中(x0,y0)是圆的中心,r为圆半径; “public void paint(Graphics g)”用于运行时钟程序; “public void start” applet的启动方法;“public void stop” applet的停止方法;“public void run” 线程的run方法。
java实验报告

java实验报告java实验报告在人们越来越注重自身素养的今天,报告的使用频率呈上升趋势,报告根据用途的不同也有着不同的类型。
那么,报告到底怎么写才合适呢?下面是小编帮大家整理的java实验报告,欢迎阅读,希望大家能够喜欢。
java实验报告1此次只实习了短短的三周。
虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益匪浅。
除此以外,我知道了什么叫团队,怎样和团队分工合作;同时我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。
这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。
也是对以前所学知识的一个初审吧!这次实习对于我以后学习、找工作也是受益匪浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。
这次实习虽然是我们的第一次,不过同学们表现不错,由此看来,我们在进入大学的这几个月里学到了不少的专业知识,只是自己感觉不到而已。
对于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。
实习是学习Java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。
我把本次为期三周的实习看作是“理论与实践相结合的桥梁”。
通过这周的实习和学习,我知道了此次实习的目的,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作。
正所谓“百闻不如一见”,经过这次自身的切身实践,我才深切地理会到了“走出课堂,投身实践”的必要性。
平时,我们只能在课堂上与老师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然!限制了我们网络知识水平的提高。
(完整版)Java程序设计实验报告

Java 程序设计实验报告实验一实验题目:从键盘上读入10 个字符串存入数组 a 中,而后输出这10个字符串中最大字符串和最小字符串。
实验代码:public class StrPro {public static void main(String[] args) {String str[] =new String[5];System. out .println("Please input 10 strings :" );int i;String max,min;for (i=0;i<5;i++){System. out .print( "Please input the " +(i+1)+ " string:" );Scanner sc = new Scanner(System. in );str[i] = sc.nextLine();}max = str[0];min = str[0];for (i=0;i<str.length ;i++){if (pareTo(str[i])<0){max = str[i];}if (pareTo(str[i])>0){min = str[i];}}System. out .println( System. out .println( " 最大的字符串为: " +max); " 最小的字符串为: " +min);}}实验结果:实验心得领会:掌握了 java 的基本语法,数组的定义与使用,做这个实验要了解字符串数组的定义及字符串数组的输入方法,还有比较字符串数组的大小的调用方法等。
实验二实验题目:自定义一个矩形类( Rectangle ),包括的属性有:长( length ),宽(width ),包括的方法有:对于属性的 setter 和 getter 方法,即 setLength ,getLength ,setWidth ,getWidth ,计算矩形面积的方法(g etArea )。
java实验报告

Java程序设计实验报告学号:名字:实验一 JAVA开发环境及基本语法一、实验目的:1、掌握常用的Java集成开发环境的使用,特别是Eclipse和NetBeans。
2、掌握Java基本语法,重点是面向对象的思想和语法。
3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。
二、实验内容:1、打开实验室计算机上的集成开发环境Eclipse或NetBeans(重点是Eclipse),掌握其基本使用方法。
了解开发软件的各个菜单功能。
会创建java项目(Project),会编辑和编译、运行项目代码。
2、验证和学习所给的几个例子程序及其讲解。
然后自己编写一个至少由一个类构成的Java程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java课的成绩(百分制),并输出对该学生成绩是否达到60分的及格分的判断(可使用if语句)。
例如,输入学生姓名李明,然后输入成绩50,则输出“李明的成绩为不及格”。
3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。
程序运行时能接受输入任意的3 个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。
注意不能把代码全部写在main函数里面,不能直接输出长宽高的乘积。
三、设计过程预习实验指导书上的内容,并将实验指导书上的例子用Eclipse验证,分析例子的指导思想,然后根据例子的内容用java语言写出自己的程序。
实验中需要学会利用控制台输出信息,使用语句“System.out.println("**************"); ”即可。
而在控制台下接受用户输入数据的方法为:Scanner sc = new Scanner(System.in); // 定义一个Scanner对象,从System.in接受输入;str = sc.next(); // 等待用户输入任意一个字符串,它会被存到str中;在实验中还会使用if语句,这跟C++的用法差不多。
Java综合实验报告_3

面向对象程序设计综合性实验(一)系统分析:本系统为学生考试成绩分析系统,系统要求可以让用户输入若干学生的基本信息、课程信息,还有对应的课程成绩。
而主要功能则是可以实现按条件进行相应学生的成绩查询和按条件进行成绩的分析,并且能够通过绘制柱状图与圆饼图来显示相应结果。
因此,我设计了3个保存数据的类,分别是年级班级类、学生类以及课程类,其中学生类继承了课程类,而年级班级类则继承学生类。
每当新建一条信息(一个学生的信息),则新建一个年级班级类,在内部会自动新建一个学生类以及课程类,用于记录一个学生的信息。
本系统采用了窗口GUI来实现,因此大量采用了按钮、文本框、单选按钮、滚动窗口等等,所以必不可少的当然是不少的监听器与对应的实现方法。
(二)系统设计:1.基本数据:Class—Grade : String—major : String—classname : String—Student : Student+getGrade() : String+getStudent() : Student+getClassname() : String+getMajor() : String+setGrade(Grade : String) : void+setClassname(classname : String) : void +setMajor(major : String) : voidStudent—StudentID : String—StudentName : String—Course : Course—couseMark : double+getCourse() : Course+getCouseMark () : double+getStudentID () : String+getStudentName () : String+setCouseMark (couseMark : double) : void+setStudentID (StudentID : String) : void+setStudentName (StudentName : String) : voidCourse—coureNumber : String—courseName : String—coureScore : double—courseHour : double+getCoureNumber () : String+getCoureScore () : double+getCourseHour () : double+getCourseName () : String+setCoureNumber (coureNumber : String) : void +setCoureScore (coureScore: double) : void+setCourseHour (courseHour: double) : void+setCourseName(courseName : String) : voidjava.io.Serializable2.主要方法实现及其他类(总共有20个,简单罗列5个):(三)系统实现:1.显示全部信息:利用窗口进行显示,而该窗口由菜单栏、滚动窗口、单选按钮和复选按钮组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北电力大学实验报告||实验名称基于Java的简易通讯录系统课程名称面向对象程序设计(JAVA)||专业班级:软件1001 学生姓名:李东萍学号:201009020108 成绩:指导教师:刘书刚崔克彬实验日期: 2011.7.6综合应用所学的知识分析问题、解决问题,提高实际编程能力及程序调试能力。
二、实验内容及要求设计并实现一个个人通信录,能记录人员的各种通信信息。
支持通信录条目的添加、查找、删除、修改。
要求:1)通信录需记录的个人信息自行设计。
2)要求采用图形用户界面(GUI),界面效果及事件处理方式自行设计,尽量考虑美观与易用性。
3)系统结构设计应采用面向对象的思想,发现问题域中的事物(常称为实体),抽象成类,建立实体类之间的关系。
同时建立实体类与界面类之间的关系。
要求程序结构设清晰合理。
三、实验仪器与设备计算机,JDK,Eclipse。
四、问题分析与系统设计问题分析本系统是一个通讯录,它可以显示一个人的姓名、电话号码和家庭住址。
实现时应该有添加、删除、修改三菜单对输入信息进行操作处理,还可以加上查找、查看全部、确定删除、保存、退出这几个按钮对显示信息进行处理,这样才能做出一个符合要求的通讯录。
设计思想首先设计好界面,再设计好相应的类,最后通过事件监听将两者联系起来。
设计结果1.界面。
界面采用FlowLayout布局管理器,先是菜单栏,再是按钮,最后是文本框。
菜单栏里有删除、修改、添加三个菜单,“删除”下有菜单项目“界面查找”和“查找修改”,“修改”下有菜单项目“界面删除”和“查找删除”,“添加”下有菜单项目“指定添加”和“末尾添加”,按钮排在菜单下面,依次是查找、查看全部、排列、确定删除、保存、退出。
2.类。
这次我们只设计一个主类,其他的类都在这个主类里作为嵌套类使用。
主类是从界面类里继承的,里面有读出类、写入类、还有两个监听类,一个监听界面修改,一个监听按钮。
读出类用来从文件里读出所需信息,写入类用来把信息存储在文件中。
监听界面修改类则是处理用户在文本框进行的信息操作,监听按钮类则是处理用户通过按钮进行的信息操。
1.初始界面2.1添加→指定添加→在粉色的文本框里添加信息(姓名、电话、家庭住址,信息与信息间用空格隔开)2.2添加→末尾添加→按提示输入姓名、号码和住址。
3 查找→按提示输入姓名4 修改→界面修改→按提示操作修改后再查找则显示出修改后的信息了5.1 删除→界面删除→按提示操作5.2 删除→查找删除→按提示删除再查找删除了的人时,有如下显示:6 查看全部六、总结与体会本次程序设计,我们一起设计了界面和用文件写入和读出这块,收获最大的便是文件这里。
因为不是特别了解文件这方面的内容,我们借鉴了其他类似的写入和读出的代码,虽然不是特别严谨,但也完成了对信息的存储和读取,而且这使我们对文件有了更深的了解。
public void read() //从文件中读取数据{int y=0;while(tongxunlu[y]!=null) //清空数组,及时的更新{tongxunlu[y]=null;y++;}try{String filepath="D:/file1.txt";File f = new File(filepath);InputStreamReader read = new InputStreamReader (new FileInputStream(f),"GBK");BufferedReader reader=new BufferedReader(read);String line;int i=0;txtarea.setText("");while((line = reader.readLine())!= null) //以行读取文件流{tongxunlu[i]=line;i++;txtarea.append(line+"\n");}}catch(IOException e){System.out.println("file read Error");}}public void write() //把Textarea中的内容写入到文件中{try{File fl=new File("D:/file1.txt");FileWriter fw=new FileWriter(fl);BufferedWriter bw = new BufferedWriter(fw);String gt=txtarea.getText();bw.write(gt,0,gt.length());bw.flush();fw.close();}catch(Exception e1){System.out.println("Error");}}因为操作里很多地方都会用到写入和读出,所以我们把写入和读出分别作为一个类,方便了调用。
读取类里我们采取的是先清除再更新的方法,中间还调用了以行读取文件流的方法。
界面我们是一起讨论完成的,然后我们就分头写菜单栏的的事件监听。
我主要负责的是添加。
1.先创建一个添加的菜单:Menu menu3=new Menu("添加");2.再创建两个选项:MenuItem menuitem5=new MenuItem("指定添加");MenuItem menuitem6=new MenuItem("末尾添加");3.把选项加到菜单里:menu3.add(menuitem5);menu3.add(menuitem6);4 事件监听:4.1指定添加if(e.getSource()==menuitem5) //监听用户想在特定的位置添加信息{JOptionPane.showMessageDialog(null, "请在选定的位置添加后单击“保存”按钮完成");//弹出帮助信息框txtarea.setText("");read();//调用读出}4.2 末尾添加if(e.getSource()==menuitem6) //实现添加信息至末尾{txtarea.setText("");read();String readname=JOptionPane.showInputDialog("请输入姓名"); //弹出提示输入对话框String readnumber=JOptionPane.showInputDialog("请输入号码");String address=JOptionPane.showInputDialog("请输入住址");if(readname==null||readnumber==null||address==null){} //用户临时取消添加时的操作elsetxtarea.append(readname+" "+readnumber+" "+address+"\n");write();//调用写入}4.3 保存if(e.getSource()==menuitem1) //监听到界面修改的事件时{JOptionPane.showMessageDialog(null, "请在文本区域中修改后单击“保存”按钮完成");//输出帮助消息框txtarea.setText("");read();}由于这次实验时间相对紧张,还有很多东西需要改进,如排序我们没有解释,因为其中出了些问题没能很好解决,还有这个通讯录不能支持电话号码的查找,这是一大缺陷。
界面的显示也没能弄得好看些,特别是如果实在文本框输入信息保存时,这些信息还是会显示在文本框里,信息多了,给人一种杂乱的感觉。
我们如果要做好一个程序,首先要了解这种系统原定义好给我们的类和方法,熟练地运用这些类和方法会大大减少我们的工作,而且也会使我们的程序更加紧凑,美观。
华北电力大学实验报告附件:源程序清单import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Arrays;import javax.swing.*;public class Hero extends Frame{ //定义界面的各种组件Button buttonfind=new Button("查找");Button buttondel=new Button("确定删除");Button buttonsave=new Button("保存");Button buttonexit=new Button("退出");Button buttonall=new Button("查看全部");Button buttonpailie=new Button("排列");TextArea txtarea=new TextArea(" ",12,40,10);String tongxunlu[]=new String[100];MenuBar menubar1=new MenuBar();Menu menu1=new Menu("删除");Menu menu2=new Menu("修改");Menu menu3=new Menu("添加");MenuItem menuitem1=new MenuItem("界面修改");MenuItem menuitem2=new MenuItem("查找修改");MenuItem menuitem3=new MenuItem("界面删除");MenuItem menuitem4=new MenuItem("查找删除");MenuItem menuitem5=new MenuItem("指定添加");MenuItem menuitem6=new MenuItem("末尾添加");public void read() //从文件中读取数据{int y=0;while(tongxunlu[y]!=null) //清空数组,及时的更新{tongxunlu[y]=null;y++;}try{String filepath="D:/file1.txt";File f = new File(filepath);InputStreamReader read = new InputStreamReader (new FileInputStream(f),"GBK");BufferedReader reader=new BufferedReader(read);String line;int i=0;txtarea.setText("");while((line = reader.readLine())!= null) //以行读取文件流{tongxunlu[i]=line;i++;txtarea.append(line+"\n");}}catch(IOException e){System.out.println("file read Error");}}public void write() //把Textarea中的内容写入到文件中{try{File fl=new File("D:/file1.txt");FileWriter fw=new FileWriter(fl);BufferedWriter bw = new BufferedWriter(fw);String gt=txtarea.getText();bw.write(gt,0,gt.length());bw.flush();fw.close();}catch(Exception e1){System.out.println("Error");}}public static void main(String ss[]) //主执行函数入口点{Hero frame1=new Hero();FlowLayout flow=new FlowLayout();frame1.setLayout(flow);frame1.setBounds(120, 50, 200, 100);frame1.setSize(350,300);frame1.setBackground(Color.blue);frame1.setTitle("通讯录");frame1.setVisible(true);}public Hero() //构造函数,添加组件及设置监听{menubar1.add(menu1);menubar1.add(menu2);menubar1.add(menu3);menu1.add(menuitem3);menu1.add(menuitem4);menu2.add(menuitem1);menu2.add(menuitem2);menu3.add(menuitem5);menu3.add(menuitem6);setMenuBar(menubar1);menuitem1.addActionListener(new menubar());menuitem2.addActionListener(new menubar());menuitem3.addActionListener(new menubar());menuitem4.addActionListener(new menubar());menuitem5.addActionListener(new menubar());menuitem6.addActionListener(new menubar());add(buttonfind);add(buttonall);add(buttonpailie);add(buttondel);add(buttonsave);add(buttonexit);add(txtarea);txtarea.setBackground(Color.PINK);buttonall.addActionListener( new operation());buttonsave.addActionListener( new operation());buttonexit.addActionListener( new operation());buttonpailie.addActionListener(new operation());buttondel.addActionListener(new operation());buttonfind.addActionListener(new operation());addWindowListener(new windowLis());}class menubar implements ActionListener{ //定义一个类监听菜单栏并执行相应事件public void actionPerformed(ActionEvent e){if(e.getSource()==menuitem1) //监听到界面修改的事件时{JOptionPane.showMessageDialog(null, "请在文本区域中修改后单击“保存”按钮完成");//输出帮助消息框txtarea.setText("");read();}if(e.getSource()==menuitem2) //监听到查找修改的事件时{int i=0;String findname=JOptionPane.showInputDialog("请输入姓名"); //提示输入查找的姓名read(); //更新数据数组的内容while(true) //根据输入信息循环查找{if(tongxunlu[i].startsWith(findname)) //若找到在相应位置修改{String result=JOptionPane.showInputDialog("请输入修改结果");tongxunlu[i]=result;JOptionPane.showMessageDialog(null, "单击确定完成修改");break;}i++;if(tongxunlu[i]==null) //找不到输出相应信息{JOptionPane.showMessageDialog(null, "没有这个人");break;}}int j=0;txtarea.setText("");while(tongxunlu[j]!=null) //更新文本区域内的内容{txtarea.append(tongxunlu[j]+"\n");j++;}write(); //更新文件}if(e.getSource()==menuitem3) //监听到在界面删除{JOptionPane.showMessageDialog(null, "请在文本区域中选定要删除的文本后单击“确定删除”按钮完成");txtarea.setText("");read();}if(e.getSource()==menuitem4) //检查用户执行“查找删除”时提示用户输入姓名{int i=0;String findname=JOptionPane.showInputDialog("请输入要删除的姓名"); //提示用户删除姓名read();while(true){if(tongxunlu[i].startsWith(findname)){JOptionPane.showMessageDialog(null, "单击确定完成删除");//输出成功删除信息并清空删除的记录int j=i;while(tongxunlu[j]!=null) {tongxunlu[j]=tongxunlu[j+1];j++;}break;}i++;if(tongxunlu[i]==null){JOptionPane.showMessageDialog(null, "删除失败,没有这个人"); //输出提示失败的信息break;}}int j=0;txtarea.setText("");while(tongxunlu[j]!=null) //更新文件{txtarea.append(tongxunlu[j]+"\n");j++;}write();}if(e.getSource()==menuitem5) //监听用户想在特定的位置添加信息{JOptionPane.showMessageDialog(null, "请在选定的位置添加后单击“保存”按钮完成");//弹出帮助信息框txtarea.setText("");read();}if(e.getSource()==menuitem6) //实现添加信息至末尾{txtarea.setText("");read();String readname=JOptionPane.showInputDialog("请输入姓名"); //弹出提示输入对话框String readnumber=JOptionPane.showInputDialog("请输入号码");String address=JOptionPane.showInputDialog("请输入住址");if(readname==null||readnumber==null||address==null){} //用户临时取消添加时的操作elsetxtarea.append(readname+" "+readnumber+" "+address+"\n");write();}}}class operation implements ActionListener //监听按钮类事件{public void actionPerformed(ActionEvent e){if(e.getSource()==buttonall){txtarea.setText(""); //清空当前的文本区域以更新read();}if(e.getSource()==buttonexit)//实现退出功能并检查用户是否正确保存修改,没有则提示用户是否修改{byte buf[]=new byte[1000];try{FileInputStream fis=new FileInputStream("D:/file1.txt");int rd=fis.read(buf,0,1000);String str=new String(buf,0,rd);if(str.equals(txtarea.getText())){ System.exit(0);}else{int confirm=JOptionPane.showConfirmDialog(null, "通讯录的信息有变化,是否要保存改");if(confirm==0) { write(); System.exit(0) ;} //用户点击确定则保存后关闭else if(confirm==1) System.exit(0);else {}}fis.close();}catch(IOException eee) //捕获文件异常{System.out.println("File read Error");}}if(e.getSource()==buttonpailie) //按姓名排列通讯录的信息{read(); //读文件txtarea.setText("");int count=0;while(tongxunlu[count]!=null) //计算通讯录中存储的人数count++;String now[]=new String[count];for(int i=0;i<count;i++) //由于通信录不一定满人,所以只能用定义一个适合长度的数组now[i]=tongxunlu[i];Arrays.sort(now); //从小到大排列信息for(int i=0;i<count;i++)txtarea.append(now[i]+"\n");write();}if(e.getSource()==buttonsave) //保存所做的修改{write();}if(e.getSource()==buttonfind) //实现查找功能{int i=0;String findname=JOptionPane.showInputDialog("请输入姓名"); //提示输入信息read();while(true){if(tongxunlu[i].startsWith(findname)){JOptionPane.showMessageDialog(null,"您查找的信息如下:\n"+ tongxunlu[i]);break;}i++;if(tongxunlu[i]==null){JOptionPane.showMessageDialog(null, "没有这个人"); //输出提示失败的信息break;}}}if(e.getSource()==buttondel) //选中要删除的字体后点击按钮删除{String str=txtarea.getText();int mouseposition=txtarea.getCaretPosition();String srr=txtarea.getSelectedText();String newstr=str.substring(srr.length()+mouseposition+1);txtarea.replaceRange(newstr,mouseposition,10000+mouseposition);//替代文本区域中某两位置间的字符write();}}}class windowLis extends WindowAdapter //实现窗口的关闭{public void windowClosing(WindowEvent e){dispose();}}}。