Java面向对象程序设计实训报告.docx
- 文档编号:23404672
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:27
- 大小:554.66KB
Java面向对象程序设计实训报告.docx
《Java面向对象程序设计实训报告.docx》由会员分享,可在线阅读,更多相关《Java面向对象程序设计实训报告.docx(27页珍藏版)》请在冰豆网上搜索。
Java面向对象程序设计实训报告
XXXX大学
实训报告
课程名称:
面向对象程序设计实践
学院:
自动化专业:
物流工程
班级:
XXXX学号:
XXXXXXXXXXXXXX
姓名:
XXX成绩:
2012年5月23 日
一、任务与目的
1.掌握下载JavaSDK软件包。
2.掌握设置Java程序运行环境的方法。
3.掌握编写与运行Java程序的方法。
4.了解Java语言的概貌。
5.安装、掌握eclipse软件,为学习Java语言和进行Java程序的实验做好准备工作。
6.浏览Applet程序
7.掌握Java语言的常量、变量、关键词、标识符、注释等基本词法。
8.掌握Java语言的基本数据类型,掌握变量的定义方法。
9.掌握Java语言选择语句的基本运用方法。
10.掌握Java语言循环语句的基本运用方法。
11.掌握从实体中抽象类与对象的方法。
12.掌握定义类、创建对象、使用类与对象。
13.掌握类及其成员的修饰符的使用。
14.掌握构造函数的使用。
15.掌握java图形用户界面设计(布局管理器的使用)
二、条件
硬件:
微机
软件:
Windows操作系统、JDK、Eclipse
三、内容与步骤
1.实训内容与步骤
实训内容:
《java2简明教程》中:
第一章:
java语言简介
第二章:
数据类型、运算符和表达式
第三章:
控制语句
第四章:
java类
第十章:
小程序
及第十一章中有关界面设计的问题。
实训步骤:
了解java语言的概貌;
安装、掌握eclipse软件,为学习java语言和进行java程序的实验做好准备工作;
学习java语言的常量、变量、关键词、标识符、注释等基本词法;
学习java语言的基本数据类型,掌握变量的定义方法;
学习java语言选择语句的基本运用方法、循环语句的基本运用方法;
学习定义类、创建对象、实用类与对象;
学习类以及成员的修饰符的使用(this,super,final,static);
学习构造函数的使用;
学习类重载、继承、覆盖的方法;
学习访问权限制;
学习程序中常用组件;
进行Java图形用户界面设计;
2、包括数据库设计及结果
从应用角度看,数据库系统主要由数据库、数据管理系统和数据库应用系统三部分组成。
关于数据库,有两种不同的定义。
广义数据库设计,指的是建立数据库及其应用系统的技术,具体包括选择合适的数据库管理系统,设计数据库的结构,以及开发数据库应用系统等。
这实际上是“数据库系统”的设计,其成果有而:
一是数据库结构(吉数据库模型),二是以数据库为基础的应用程序系统。
在这次实训中,我们利用数据库设计的思路,进行了运用,并作出了两种成果,也就是Java的两种程序分类:
Application及Applet小程序。
3、系统功能模块
实训中,我认为我们主要运用了系统功能模块中的系统管理模块、信息录入模块、信息录入、检索、查询及统计、输入模块以及数据库服务模块。
4、主页设计,其他个页面设计思路、程序流程、源代码
实验1Java运行环境的使用、两类程序的实现:
安装、使用eclipse软件,在ecplise环境下编辑,编写、运行Java程序。
实验2控制语句训练
1、用if-else仙桃语句编程实现a、b、c三个数按从小到大顺序排列。
运行程序并观察运行结果。
要求:
(1)改用if语句的一边形式实现排序。
(2)改用if-else阶梯形式实现排序。
(3)比较三种方法的不同。
源代码:
packageyilan;
importjava.applet.Applet;
importjava.awt.Event;
importjava.awt.Label;
importjava.awt.TextField;
publicclassShiyanwuextendsApplet{
Labellab1,lab2;
TextFieldinput1,input2;
intnum1,num2;
publicvoidinit(){
lab1=newLabel("请输入第1个整数");
input1=newTextField(10);
lab2=newLabel("请输入第2个整数");
input2=newTextField(10);
add(lab1);
add(input1);
add(lab2);
add(input2);
}
publicbooleanaction(Evente,Objecto){
if(e.target==input1||e.target==input2){
num1=Integer.parseInt(input1.getText());
num2=Integer.parseInt(input2.getText());
showStatus(""+(num1+num2));
}
returnfalse;
}
}
2、编写输入1!
+2!
+3!
+4!
+……+20!
的程序,要求分别利用for,while,do-while,运行程序并观察运行结果,比较三种语句的不同之处。
源代码:
packageyilan;
importorg.omg.CORBA.portable.ApplicationException;
importorg.omg.CORBA.portable.InputStream;
publicclassShiyantwoextendsApplicationException{
publicShiyantwo(Stringarg0,InputStreamarg1){
super(arg0,arg1);
}
privatestaticfinallongserialVersionUID=714673509684927792L;
publicstaticvoidmain(String[]args){
inti=1;
doublefac=1,sum=0;
for(i=1;i<=20;i++)
{fac=fac*i;
sum=sum+fac;
}
System.out.println("1!
+2!
+...20!
="+sum);
}
}
3,、编写Application程序找出所有水仙花数并输出。
水仙花数是三位数,它的个位数字的立方和等于这个三位数本身,例如:
371=33+73+13,,371就是一个水仙花数,请分别用while和for循环实现。
源代码:
packageyilan;
importorg.omg.CORBA.portable.ApplicationException;
importorg.omg.CORBA.portable.InputStream;
publicclassshiyansanextendsApplicationException{
publicshiyansan(Stringarg0,InputStreamarg1){
super(arg0,arg1);
}
privatestaticfinallongserialVersionUID=-7889722578687182194L;
publicstaticvoidmain(String[]args){
inti=0,j=0,k=1;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
for(k=1;k<10;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个英文字母a-z,知道大于u为止,用while或for语句实现。
源代码:
packageyilan;
importorg.omg.CORBA.portable.ApplicationException;
importorg.omg.CORBA.portable.InputStream;
publicclassShiyansiextendsApplicationException{
publicShiyansi(Stringarg0,InputStreamarg1){
super(arg0,arg1);
}
privatestaticfinallongserialVersionUID=-5085154738448011458L;
publicstaticvoidmain(String[]args){
charch=0;
while(ch<'u')
{ch=(char)(Math.random()*26+'a');
System.out.println(ch);
}
}
}
5、编写java小程序界面如图1所示,在文本框中输入整数如图2所示后按回车,会在状态栏中显示和的结果,并同时清除文本框中内容,以备下一次输入。
源代码:
packageyilan;
importjava.applet.Applet;
importjava.util.Scanner;
publicclassShiyanwuextendsApplet{
intt;
publicstaticvoidmain(String[]args){
Scannerin=newScanner(System.in);
inta=in.nextInt();
System.out.println("a="+a);
intb=in.nextInt();
System.out.println("b="+b);
intc=in.nextInt();
System.out.println("c="+c);
if(a
if(a if(b elseSystem.out.println("a,c,b"+a+""+c+""+b); elseSystem.out.println("c,a,b"+c+""+a+""+b); } else{ if(b>c)System.out.println("c,b,a"+c+""+a+""+b); elseif(c>a)System.out.println("b,a,c"+b+""+a+""+c); elseSystem.out.println("b,c,a"+b+""+c+""+a); } } } 实验3定义类及对象 1、定义一个类Myclass,包括一个整形属性data和封装这两个属性的两个方法getData()和setData(). 源代码: packageyilan; classMyclass{ intdata; voidgetData(){ data=4; } voidsetData(){ data=3; } publicstaticvoidmain(String[]args){ Myclassp1=newMyclass(), p2=newMyclass(); p1.getData(); p2.setData(); System.out.println("getData="+p1.data); System.out.println("setData="+p2.data); } } 2、定义一个类,它包含一个int类型的变量x若干个构造函数(根据用户自己需要)和一个输出方法show()。 编程: 从键盘上输入一个两位数以上的数,将这个数传递给这个类的变量x,使用方法show()逆序输出这个数。 源代码: packageyilan; importjava.until.Scanner; classpoint{ inti; point(){ Scannerin=newScanner(System.in); i=in.nextInt(); } staticintx; publicstaticvoidmain(String[]args){ pointa=newpoint(); x=a.i; show(x); } staticvoidshow(intx){ inti=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;j { c[j]=a%10; a=a/10; } for(j=0;j System.out.print(c[j]); } } } 3、定义一个复数类complex,它的内部具有两个实例量: realPart和imagPart,分别代表复数的实部和虚部,编程实现要求的数学运算: (1)实现两个复数相加,原则是: 实部与实部相加,虚部与虚部相加。 (2)实现两个复数相减,原则是: 实部与实部相减,虚部与虚部相减。 (3)输出运行结果,判断是否正确。 源代码: packageyilan; publicclassSi{ classyl{ intrealPart,imagPart; yl(inta,intb){ realPart=a;imagPart=b; } } publicclassy1{ publicvoidmain(String[]args){ ylp1=newyl(5,6); ylp2=newyl(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,编程计算并输出其面积和周长,必须确保输入的半径不为负数。 源代码: packageyilan; importjava.applet.Applet; importjava.util.Scanner; publicclassFour{ publicstaticvoidmain(String[]args){ Scannerin=newScanner(System.in); doubleradius=in.nextDouble(); System.out.println("radius="+radius); doubles,c; s=Math.PI*radius*radius; c=Math.PI*radius*2; System.out.println("此圆面积为: "+s); System.out.println("此圆周长为: "+c); } } 实验4-1 packageyilan; importjava.awt.Button; importjava.awt.Frame; importjava.awt.GridLayout; importjava.awt.Label; importjava.awt.Panel; importjava.awt.event.WindowAdapter; importjava.awt.event.WindowEvent; publicclasstest1extendsFrame{ Labell1; Buttonb1,b2,b3; ; test1(){ l1=newLabel("学生成绩管理系统",Label.CENTER); b1=newButton("查询信息"); b2=newButton("添加信息"); b3=newButton("退出系统"); Panelp=newPanel(); p.setLayout(newGridLayout(9,1)); p.add(l1); p.add(newLabel("")); p.add(b1); p.add(newLabel("")); p.add(b2); p.add(newLabel("")); p.add(b3); add(p); addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ dispose(); System.exit(0); } }); } publicstaticvoidmain(String[]args){ test1t=newtest1(); t.setTitle("测试实验界面"); t.setVisible(true); t.setSize(300,300); } } 实验4-2 Packageyilan; importjava.awt.Button; importjava.awt.Choice; importjava.awt.Frame; importjava.awt.GridLayout; importjava.awt.Label; importjava.awt.Panel; importjava.awt.TextArea; importjava.awt.TextField; importjava.awt.event.WindowAdapter; importjava.awt.event.WindowEvent; importjavax.swing.JLabel; publicclasstest2extendsFrame{ Labell1,l2,l3,l4; Buttonb1,b2; Choicechoice; TextFieldinput1; TextAreat; Stringstr[]={"全部","男生","女生"}; test2(){ l1=newLabel("查询条件: ",Label.CENTER); l2=newLabel("字段",Label.CENTER); l3=newLabel("值",Label.CENTER); l4=newLabel("查询结果为: ",Label.CENTER); b1=newButton("确定"); b2=newButton("返回"); input1=newTextField(); t=newTextArea(); choice=newChoice(); choice.addItem("全部"); choice.addItem("男生"); choice.addItem("女生"); Panelp=newPanel(); p.setLayout(newGridLayout(7,6)); p.add(newLabel("")); p.add(l1); p.add(l2); p.add(choice); p.add(l3); p.add(input1); p.add(newLabel("")); p.add(b1); p.add(l4); p.add(t); p.add(newLabel("")); p.add(b2); add(p); addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ dispose(); System.exit(0); } }); } publicstaticvoidmain(String[]args){ test2t=newtest2(); t.setTitle("查询"); t.setVisible(true); t.setSize(300,300); } } 实验4-3 ackageyilan; importjava.awt.Button; importjava.awt.Frame; importjava.awt.GridLayout; importjava.awt.Label; importjava.awt.Panel; importjava.awt.TextField; importjava.awt.event.WindowAdapter; importjava.awt.event.WindowEvent; importjavax.swing.JLabel; publicclasstest3extendsFrame{ Labell1,l2,l3,l4,l5; Buttonb1,b2; TextFieldinput1,input2,input3,input4; test3(){ l1=newLabel("添加: ",Label.LEFT); l2=newLabel("学号",L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 程序设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)