《Java面向对象程序设计实训报告.doc》由会员分享,可在线阅读,更多相关《Java面向对象程序设计实训报告.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、XXXX大学实训报告课程名称: 面向对象程序设计实践 学 院: 自动化 专 业: 物流工程 班 级: XXXX 学 号:XXXXXXXXXXXXXX 姓 名: XXX 成 绩: 2012年5月 23日一、任务与目的1 掌握下载 Java SDK 软件包。2 掌握设置 Java 程序运行环境的方法。 3 掌握编写与运行 Java 程序的方法。 4了解 Java 语言的概貌。 5安装、掌握eclipse软件,为学习 Java 语言和进行 Java 程序的实验做好准备工作。6浏览Applet 程序7掌握Java语言的常量、变量、关键词、标识符、注释等基本词法。8掌握Java语言的基本数据类型,掌握变
2、量的定义方法。9掌握Java语言选择语句的基本运用方法。10掌握Java语言循环语句的基本运用方法。11掌握从实体中抽象类与对象的方法。12掌握定义类、创建对象、使用类与对象。13掌握类及其成员的修饰符的使用。14掌握构造函数的使用。15掌握java图形用户界面设计(布局管理器的使用)二、条件硬件:微机软件:Windows操作系统、JDK 、Eclipse 三、内容与步骤1.实训内容与步骤实训内容:java2 简明教程中:第一章:java语言简介第二章:数据类型、运算符和表达式第三章:控制语句第四章:java类第十章:小程序及第十一章中有关界面设计的问题。实训步骤:了解java语言的概貌;安装
3、、掌握eclipse软件,为学习java语言和进行java程序的实验做好准备工作;学习java语言的常量、变量、关键词、标识符、注释等基本词法;学习java语言的基本数据类型,掌握变量的定义方法;学习java语言选择语句的基本运用方法、循环语句的基本运用方法;学习定义类、创建对象、实用类与对象;学习类以及成员的修饰符的使用(this,super,final,static);学习构造函数的使用;学习类重载、继承、覆盖的方法;学习访问权限制;学习程序中常用组件;进行Java图形用户界面设计;2、包括数据库设计及结果从应用角度看,数据库系统主要由数据库、数据管理系统和数据库应用系统三部分组成。关于数
4、据库,有两种不同的定义。广义数据库设计,指的是建立数据库及其应用系统的技术,具体包括选择合适的数据库管理系统,设计数据库的结构,以及开发数据库应用系统等。这实际上是“数据库系统”的设计,其成果有而:一是数据库结构(吉数据库模型),二是以数据库为基础的应用程序系统。在这次实训中,我们利用数据库设计的思路,进行了运用,并作出了两种成果,也就是Java的两种程序分类:Application 及Applet小程序。3、系统功能模块实训中,我认为我们主要运用了系统功能模块中的系统管理模块、信息录入模块、信息录入、检索、查询及统计、输入模块以及数据库服务模块。4、主页设计,其他个页面设计思路、程序流程、源
5、代码实验1 Java运行环境的使用、两类程序的实现:安装、使用eclipse软件,在ecplise环境下编辑,编写、运行Java程序。实验2 控制语句训练1、 用if-else仙桃语句编程实现a、b、c三个数按从小到大顺序排列。运行程序并观察运行结果。要求:(1)改用if语句的一边形式实现排序。(2)改用if-else阶梯形式实现排序。(3)比较三种方法的不同。源代码:package yilan; import java.applet.Applet;import java.awt.Event;import java.awt.Label;import java.awt.TextField;pub
6、lic class Shiyanwu extends Applet Label lab1,lab2;TextField input1,input2;int num1,num2;public void init()lab1=new Label(请输入第1个整数);input1=new TextField(10);lab2=new Label(请输入第2个整数);input2=new TextField(10);add(lab1);add(input1);add(lab2);add(input2);public boolean action(Event e,Object o)if(e.target
7、=input1|e.target=input2) num1=Integer.parseInt(input1.getText(); num2=Integer.parseInt(input2.getText(); showStatus(+(num1+num2);return false;2、 编写输入1!+2!+3!+4!+20!的程序,要求分别利用for,while, do-while,运行程序并观察运行结果,比较三种语句的不同之处。源代码:package yilan;import org.omg.CORBA.portable.ApplicationException;import org.om
8、g.CORBA.portable.InputStream;public class Shiyantwo extends ApplicationException public Shiyantwo(String arg0, InputStream arg1) super(arg0, arg1);private static final long serialVersionUID = L;public static void main(String args) int i=1;double fac=1,sum=0;for(i=1;i=20;i+) fac=fac*i; sum=sum+fac;Sy
9、stem.out.println(1!+2!+.20!=+sum);3,、编写Application程序找出所有水仙花数并输出。水仙花数是三位数,它的个位数字的立方和等于这个三位数本身,例如:371=33+73+13,,371就是一个水仙花数,请分别用while和for循环实现。源代码:package yilan;import org.omg.CORBA.portable.ApplicationException;import org.omg.CORBA.portable.InputStream;public class shiyansan extends ApplicationExcepti
10、on public shiyansan(String arg0, InputStream arg1) super(arg0, arg1);private static final long serialVersionUID = -L;public static void main(String args) int i=0,j=0,k=1;for(i=0;i10;i+)for(j=0;j10;j+)for(k=1;k10;k+)if(i*i*i+j*j*j+k*k*k=100*k+10*j+i)System.out.println(水仙花数+(100*k+10*j+i);4、 随机产生26个英文
11、字母a-z,知道大于u为止,用while或for语句实现。源代码:package yilan;import org.omg.CORBA.portable.ApplicationException;import org.omg.CORBA.portable.InputStream;public class Shiyansi extends ApplicationException public Shiyansi(String arg0, InputStream arg1) super(arg0, arg1);private static final long serialVersionUID =
12、 -L;public static void main(String args) char ch = 0;while(chu) ch=(char)(Math.random()*26+a);System.out.println(ch); 5、 编写java小程序界面如图1所示,在文本框中输入整数如图2所示后按回车,会在状态栏中显示和的结果,并同时清除文本框中内容,以备下一次输入。源代码:package yilan;import java.applet.Applet;import java.util.Scanner;public class Shiyanwu extends Appletint t
13、;public static void main(String args) Scanner in=new Scanner(System.in);int a=in.nextInt();System.out.println(a=+a);int b=in.nextInt();System.out.println(b=+b);int c=in.nextInt();System.out.println(c=+c);if(ab)if(ac)if(bc)System.out.println(c,b,a +c+ +a+ +b); else if(ca)System.out.println(b,a,c +b+
14、+a+ +c); else System.out.println(b,c,a +b+ +c+ +a);实验3 定义类及对象1、 定义一个类Myclass,包括一个整形属性data和封装这两个属性的两个方法getData()和setData().源代码:package yilan;class Myclass int data;void getData()data=4;void setData()data=3;public static void main(String args) Myclass p1=new Myclass(), p2=new Myclass();p1.getData();p2
15、.setData();System.out.println(getData=+p1.data);System.out.println(setData=+p2.data);2、 定义一个类,它包含一个int类型的变量x若干个构造函数(根据用户自己需要)和一个输出方法show()。编程:从键盘上输入一个两位数以上的数,将这个数传递给这个类的变量x,使用方法show()逆序输出这个数。源代码:package yilan;import java.until.Scanner;class point int i;point()Scanner in = new Scanner (System.in);i =
16、 in.nextInt();static int x;public static void main(String args) point a = new point();x = a.i;show(x);static void show(int x)int i = 0 ,a,j,c = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;a=x;while(x!=0)x=x/10; i+;for(j=0;ji;j+)cj = a%10;a = a/10;for(j=0;ji;j+)System.out.print(cj);3、 定义一个复数类complex,它的内部具有两个实例量:
17、realPart和 imagPart,分别代表复数的实部和虚部,编程实现要求的数学运算:(1)实现两个复数相加,原则是:实部与实部相加,虚部与虚部相加。(2)实现两个复数相减,原则是:实部与实部相减,虚部与虚部相减。 (3)输出运行结果,判断是否正确。源代码:package yilan;public class Si class ylint realPart,imagPart;yl(int a,int b)realPart=a;imagPart=b;public class y1 public void main(String args) yl p1=new yl(5,6);yl p2=new
18、 yl(3,8);System.out.println(输入两个复数:2+5i和1+5i);System.out.println(和=+(p1.realPart+p2.realPart)+(+(p1.imagPart+p2.imagPart)+i+);System.out.println(差=+(p1.realPart-p2.realPart)+(+(p1.imagPart-p2.imagPart)+i+);4、定义一个函数circle,它有一个变量radiue(半径)。从键盘输出数据,通过构造函数的参数传递给radiue,编程计算并输出其面积和周长,必须确保输入的半径不为负数。源代码:pac
19、kage yilan;import java.applet.Applet;import java.util.Scanner;public class Four public static void main(String args) Scanner in=new Scanner(System.in); double radius=in.nextDouble();System.out.println(radius=+radius);double s,c;s=Math.PI*radius*radius;c=Math.PI*radius*2;System.out.println(此圆面积为:+s);
20、System.out.println(此圆周长为:+c);实验4-1package yilan;import java.awt.Button;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Label;import java.awt.Panel;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class test1 extends FrameLabel l1;Button b1,b2,b3;test1()l1
21、=new Label(学生成绩管理系统,Label.CENTER);b1=new Button(查询信息);b2=new Button(添加信息);b3=new Button(退出系统);Panel p=new Panel();p.setLayout(new GridLayout(9,1);p.add(l1);p.add(new Label( );p.add(b1);p.add(new Label( );p.add(b2);p.add(new Label( );p.add(b3);add(p);addWindowListener(new WindowAdapter()public void w
22、indowClosing(WindowEvent e)dispose();System.exit(0););public static void main(String args) test1 t=new test1();t.setTitle(测试实验界面);t.setVisible(true);t.setSize(300,300);实验4-2Package yilan;import java.awt.Button;import java.awt.Choice;import java.awt.Frame;import java.awt.GridLayout;import java.awt.La
23、bel;import java.awt.Panel;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JLabel;public class test2 extends Frame Label l1,l2,l3,l4; Button b1,b2; Choice choice; TextField input1; TextArea t; String str=全部,男生
24、,女生; test2()l1=new Label(查询条件:,Label.CENTER);l2=new Label(字段,Label.CENTER);l3=new Label(值,Label.CENTER);l4=new Label(查询结果为:,Label.CENTER);b1=new Button(确定);b2=new Button(返回);input1=new TextField();t=new TextArea(); choice=new Choice(); choice.addItem(全部 ); choice.addItem(男生); choice.addItem(女生); Pan
25、el p=new Panel();p.setLayout(new GridLayout(7,6);p.add(new Label( );p.add(l1);p.add(l2);p.add(choice);p.add(l3);p.add(input1);p.add(new Label( );p.add(b1);p.add(l4);p.add(t);p.add(new Label( );p.add(b2);add(p);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispose();Sys
26、tem.exit(0););public static void main(String args) test2 t=new test2();t.setTitle(查询);t.setVisible(true);t.setSize(300,300);实验4-3ackage yilan;import java.awt.Button;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Label;import java.awt.Panel;import java.awt.TextField;import java.awt.
27、event.WindowAdapter;import java.awt.event.WindowEvent;import javax.swing.JLabel;public class test3 extends Frame Label l1,l2,l3,l4,l5; Button b1,b2; TextField input1,input2,input3,input4; test3()l1=new Label(添加:,Label.LEFT);l2=new Label(学号,Label.LEFT);l3=new Label(姓名,Label.LEFT);l4=new Label(性别,Labe
28、l.LEFT);l5=new Label(成绩,Label.LEFT);b1=new Button(确定);b2=new Button(返回);input1=new TextField();input2=new TextField();input3=new TextField();input4=new TextField(); Panel p=new Panel();p.setLayout(new GridLayout(6,6);p.add(new Label( );p.add(l1);p.add(l2);p.add(input1);p.add(l3);p.add(input2);p.add(
29、l4);p.add(input3);p.add(l5);p.add(input4);p.add(b1);p.add(b2);add(p);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)dispose();System.exit(0););public static void main(String args) test3 t=new test3();t.setTitle(添加);t.setVisible(true);t.setSize(300,300);四、数据处理(现象分析)1-11-21-31-42-12-22-32-42-52-62-72-82-92-102-112-122-133-13-23-33-43-53-63-73-8五、结论之前并没有多少接触过java,只是学了一些c语言等程序设计,在我看来,java比c语言难得多了,学习java让我了解了更多关于计算机的奥妙,也懂得了一个程序的设计那是要费很多脑细胞,如今我们能够过上如此便捷的计算机生活,全靠前辈们的辛勤努力啊!六、参考资料Java2简明教程(第2版)清华大学出版社七、评语
限制150内