《Java程序设计上机实验.docx》由会员分享,可在线阅读,更多相关《Java程序设计上机实验.docx(19页珍藏版)》请在优知文库上搜索。
1、试验1:熟识上机环境,编写并运行简洁的java程序(3学时)试验目的(1)熟识Java程序开发环境J2SDK+JCreator的安装及运用熟识JavaApplication和Applet程序的结构及开发步骤(3)娴熟驾驭if语句的运用(4)驾驭Malhsqrt()等常用数学函数的用法(5)熟识SyStCm.out.print()的用法试验内容及要求按JavaApplication和APPIeI两种方式分别编写程序,求一元二次方程a2+bx+c=()的根(系数在程序中给定),并输出。思索并验证(1)分别给定以下几组系数,给出输出结果a=l,b=5.c=3a=4,b=4.c=la=2.b=3,c=
2、2:+i+i(2)假如程序的public类的类名和源文件的文件名不一样会有什么问题?(3)将类的PUbIiC修饰去掉是否可行?接着再将类名换为其它是否可行?这说明白什么?(4)将程序中main前面的PUbIiC去掉,重新编译执行你的程序,你看到了什么信息?(5)将程序中main前面的StatiC去掉,重新编译执行你的程序,你看到了什么信息?为什么?(6)本次上机中,你还遇到了什么问题,是如何解决的?试验2:限制流程1(3学时)试验目的进步熟识运用if语句(2)驾驭循环语句实现循环的方法试验内容及要求输出时,只运用下面的语句:Systcn.out.print(*,);SyStemQU1.Prin
3、t();Sysiem.ou1.prim(+);Systcm.out.prinlln(lt*;)输出一个空格,并且不换行输出个字符*,并且不换行/输出一个字符,+、并且不换行输出一个字符并换行编写程序输出(注:在图形的中心处有个加号+):思索并睑证卜面程序片段给出了从键盘输入一个推数的方法:imX)rtjava,io.*:InputStrearnRcadcrir;BuffcrcdRcadcrin;ir=newInutStreanReader(Systen.in);in=ncwBuffcrcdReadcr(ir);tryStrings=in.read1.ine();inti=Inlcgcr.par
4、sdnt(三)W转换成整形catch(IOExccptionc)(1)如何修改程序,使得输出的图形可以很便利的在水平方向上移动?(2)如何修改你的程序,按输入行数n(为奇数)输出图形?选做:编程求支付方法的种数:取I元,2元,5元纸币IO张,付给18元,有几种方法?试验3:限制流程2(3学时)试验目的(1)驾驭数据类型的含义(2)驾驭break语句的运用(3)驾驭用三种循环语句实现循环以及循环嵌套的方法试验内容及要求编程,计算髭+22+3+6b思索并验证(1)将内U循环改为另一种循环语句,比较哪种循环语句更适用于本程序?(2)修改程序使之计算l,+22+33+20,你的程序能得出正确结果吗?若
5、不能,应如何修改?(3)考虑如何通过运用break语句修改这个程序,求出最大值n,使得l+21+M小于等于Iong数据类型所能表示的最大值(即1.ong.MX.VA1.UE),并给出P+2?+n*的准确值。选做,求有儿组和为10的连续正整数,并输出这些整数。试验4:类和对象(数组)(3学时)试验目的(1)驾驭JaVai吾言中类和对象的基本概念(2)驾驭Java程序设计中类和对象的定义及运用(3)学习运用数组,驾驭数组的初始化方法及数组元素的引用试验内容及要求编程,求解和为15的棋盘嬉戏问题。要求将从I到9的九个数填入3X3的机盘中,使得各行、各列以及两个对向线上的三个数之和均为15,并打印出结
6、果。如左图。思索并验证(1)在程序中,你用到了数组了吗,运用的是几维数组?假如没仃运用,在程序中该如何运用数组?它给编程带来了什么好处?(2)编程思路:(3)在程序中,你定义了哪些类,它们分别具有什么含义?(4)在程序中,你是否生成了自己定义类的对象?假如要求不行以生成类的对象实例,程序应如何修改?试验5:继承、多态(接口和包)(3学时)试验目的(1)驾驭JaVa语言中维承和多态的相关概念(2)驾驭Java程序设计中继承和多态机制的运用(3)驾驭JaVa语言中接口和包的概念及运用试验内容及要求仿真农场一个Ml乳动物类如下所示:publicclassMammalprotectedintage=2
7、;protectedintweight=5:publicMaminaIOISySlem.out.println(Mammalconstructor);Jintgetge()returnage;voidSelAge(inia)age=a;intgctWcight()returnweight;voidSctWcighKintw)weight=wjvoidmove()System.out.11ntln(Mannalmoveonestep);voidspeak()(Sysiem.out.prinln(,Manmalspeak,);voidslccp()(System.out.println(t*shh
8、h.msleeping.);)狗属哺乳动物,且它的属性有品种之分(在哺乳类基础上增加品种数据成员),叫声区分于其他动物(输出Woof!”),还会摇尾巴(增加成员函数,输出“Tailwagging.”),乞讨食物(增加成员函数,fttllbeggingforfood.).猫、马、猪也属于喃乳动物,其叫声分别为:“Meow!”,“Winnie!”,“Oink!”。编程分别使各个动物表现为不一样的行为。要求将全部的动物类放置于animal.mammal包下。定义两个新的类,表示宠物猫和宠物狗。要求:这两个类能输出宠物所属的主子,价格等信息:将这两个类放邑于animal.mammal.pct包卜,思索
9、并验证(1)在程序中的哪些地方运用到r多态的机制?多态性为我们带来r什么好处?(2)试着把源文件放到另外一个书目下,然后编译,看看会得到什么信息?为什么会出现这种状况?(3)在定义宠物类的时候,是否运用了接口?假如没有运用,该定义个什么接口,并如何修改程序?接口的运用为程序带来了什么好处?试验6:异样处理(3学时)试验目的(1)理解异样的概念(2)驾驭Java程序设计中异样的处理机制试验内容及要求一、输入以下代码,编译调试并分析执行结果程序1:编写用于演示异样处理机制的Iryvatch代码,用于测试ArraylndexOutOfBoundsExccption异样,清调试:Publicclass
10、CatchExccption(publicstaticvoidnain(String(args)int11arr=newint(l();tryIarrl()=IO;)CatCh(ArrayIndeXOUIOfBOUndSEXCePlione)(e=nevArraylndcxoulBoundsExcepi沁n(“数组卜标越界!”);throwe;输入以上代码,并编译和调试,最终分析结果。程序2:编写用于演示异样处理机制Iry-CaichMnalIyJHHtSh在此程序中,当个数字除以O时,将引发ArithnicticExccption异样,引发的异样被catch捕获.ClassProgram!I
11、Stringname=内蒙古高校软件学院”Intnol=10;Intno2=20;PrOgrUm2()(try(Systen.out.rintln(nane);Systein.out.println(相除结果为:+nolno2):JCatCh(AriIhmeliCEXCePtion1)(SyStCm.oul.PrinHn(不能除以O!);finally(namc=nullSySlem.oU1.Prinun(Finally已执行!”);publicstaticvoidmain(Stringargs)newProgram2();二、.编写个程序,用于将来自用户的两个数字接受为吩咐行参数。将第个数字
12、除以其次个数字并显示结果,处理可能的异样提示:运用两个CaICh语句.一个用于捕获AaylndexOutOBondsExccption异样(从吩咐行传来的参数个数不对),而另一个用于捕获ArithmaticExccption异样。选做:编写一个程序,用于依据用户输入的吩咐行参数数量来计算长方形、正方形、三角形的面枳。假如输入的参数为一个、二个、三个则它们应分别对应正方形、氏方形、三角形,假如没有参数,则通过异样处理方法现实错误消息。(用于计算面积的方法是一个遗栽的方法)。提示:定义一个抽象的父类,并供应一个抽象的方法area。.再派生出三个子类,重写area。方法,然后在main方法中编写测试
13、逻辑。试验7:输入/输出(3学时)试验目的(I)了解流类及相关的包(2)驾驭常用的流类及其成51函数的运用方法(3)学习输入/输出的基本方式(4)巩固常用组件的运用及其事务的处理方式试验内容及要求建立个班级下拉式列表,列表项中仃2004(1)班,2004(2)班,2004(3)班和2004(4)班,当点击某个选项时,将其成果单显示在文本区中.思索并验证(1)抓取程序运行的一个界面:(2)你的程序涉及到的文件有:(3)你是通过什么途径建立这些文件的?(4)能否用word建立这些文件?试验8:界面布局(3学时)试验目的(1)娴熟运用标签、按钮、文本框等基本组件,驾驭按钮等组件的事务处理方法熟识JT
14、eXlArea的用法(3)熟识卜拉列表框的用法试验内容及要求创建个GUI应用程序,用于转换若干种货币。供应应用户个JTeXlArea以用于输入数盘。同时还应供应应用户一种选择源货币名称和目的货币名称的途径。同时为自己的测试设置至少三种不同的货币名称及转换汇率。思索并验证画出程序运行效果图:试验9Applet(3学时)试验目的(1)驾驭JavaApplet程序的结构和运行机制(2)驾驭JaVaAPPieI程序的生命周期中触发的各种事务(3)更习Java语言中类的继承及方法的重载机制试验内容及要求编写个APPlet程序,在窗体中分别绘制由,组成的正方形和圆,尽量保证*号之间的间即相等,如下图所示:
15、思索并验证(1)思索一个方法,验证APPIet程序运行的生命周期中initstart、stop、destroyPaim几个方法被调用的时机。实现这个方法,并给出验证的结果。(2)思路:淡一谈自己对JaVaAPPliCaIiOn程序及APPleI程序之间区分的一些相识和看法。试验10:线程(6学时)试验目的(1)驾驭多线程的概念及基本操作方法(2)驾驭线程的并发限制技术(3)驾驭线程同步技术试验内容及要求一、编写程序创建5个线程,分别显示5个不同的字符串。分别用继承Thread类以及实现RUnnable接口的两种方式实现。二、编写生产者/消费者模式的程序.生产者每隔100mS产生一个09之间的个数,保存在一个MyNUm