太原理工大学Java实验报告_第1页
太原理工大学Java实验报告_第2页
太原理工大学Java实验报告_第3页
太原理工大学Java实验报告_第4页
太原理工大学Java实验报告_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、v1.0可编辑可修改实验由本人当时亲自完成仅供参考,希望可以帮助大家爵dz打下大学TAIYUANUNEVE塞或TYOFTECHNOLOGY本科实验报告课程名称:Java程序设计B实验项目:Java语言基础编程和面向对象设计实验地点:逸夫楼501专业班级:0000学号:00000000学生姓名:学宇乾昂指导教师:2012年13月13日实验名称实验一Java环境搭建和Java语言基础编程实验目的和要求1 .掌握JDKEclipse的下载和安装,并熟练使用API帮助文档;2 .学会JavaApplication程序和JavaApplet程序的编制、编译和运行;3 .熟练掌握Java程序流程控制语句的

2、使用;4 .熟练掌握Java谛言数组的使用、字符串以及字符串处理方法的使用。实验内容1 .下载并安装最新版本的JDK和Eclipse,设置环境变量,下载API帮助文档。2 .设计JavaApplication程序,输出“我叫xxx,我编写的JavaApplication程序运行通过了”,分别在命令提示符和Eclipse环境中编译、运行。3 .完成习题的编程、调试与运行。4 .使用for循环语句输出习题中的图案。5 .完成习题的编程、调试与运行。6 .完成习题和的编程、调试与运行。主要仪器设备台式或笔记本计算机实验记录(写出实验内容中3,5,6的程序代码和运行结果)(可分栏或加页)程序代码imp

3、ortclassDataTypepublicstaticvoidmain(String口args)Scannerin=newScanner;"请输入一个10ng型数据(输完按enter结束):");longa=();"请输入一个float型数据(输完按enter结束):”);48floatb=();"请输入一个double型数据(输完按enter结束):");doublec=();"long:"+a);"float:"+b);"double:"+c);运行结果亚蛙,一个三t卦里姓Ent

4、自壮天i='3营看入一441日三十三票势t金瑾与&沼第j=23.12黑里只一个doublE三"三:里先埃errt史空之378.170long;7Sfloat:23.12doLible:7B.17B程序代码importclassValueForeintn;ValueFore()=calculateN();doublestackBy(intn)inti;doubles=1;for(i=1;i<=n;i+)s*=i;returns;i;doublesum=1;for(i=1;i<=;i+)sum+=1/stackBy(i);re

5、turnsum;intcalculateN()Scannerin=newScanner;inti=1;doublea=();while(1/stackBy(i)>a)i+;returni;publicstaticvoidmain(String口args)Scannerin=newScanner;booleanb=true;while(b)”请选择菜单:”);"1.计算不同精度的e值");"2.退出");switch()case1:”请输入精度(例如:1e-3,表示):");ValueForea=newValueFore();"e

6、="+();break;case2:b=false;break;运行结果嗨士身阻庠:2.送出湾喃A.将农网址;工3点亍母,日01):1c-4£=2.71027876984127港法先踊生;1-箕不三桁京若已三2,运土*A*t曳枭1工已-3果墓3.801,:45e-2.718281S255731922击或拜£主:1.升寓不M标玄的日最2说明:没有按书中的要求去求,但是这个程序功能更强,运用了菜单的方式,使用程序的人能求出不同精度的e值。程序代码publicclassStringTextpublicstaticvoidmain(String口args)Stringst

7、r1="Iam"Stringstr2="astudent"Stringstr3="我是中国人"StringBufferstr=newStringBuffer();(str1).append(str2).append(str3);运行结果Iatna5tLicIgnt交息中寓A.程序代码importclassTrianglevoidprintTriangle(introw)inti,j;inta=newintrow;for(i=0;i<row;i+)ai=newinti+1;for(i=0;i<row;i+)a皿0=1;a皿i

8、=1;for(i=2;i<row;i+)for(j=1;j<i;j+)aij=ai-1j-1+ai-1j;”输出杨辉三角为:”);for(i=0;i<row;i+)for(j=row-1;j>i;j-)"t");for(j=0;j<=i;j+)if(i!=0)"t't");"n");publicstaticvoidmain(String口args)Scannerin=newScanner;Trianglenum=newTriangle();”请输入杨辉三角的行数:”);();运行结果说明:这个程序

9、同样也具有一定的灵活行,随意输出杨辉三角的行数就就可以得到不同的杨辉三角,比如输入6,得到如下结果:*出懦攥三叁为:L3 14 11051遇到的问题和解决方法编写求e值的过程中题中只给出了最后一项的精度,这就要求我们用这一精度去先求出n来,求n就是要解决的问题之一,我用了一个循环,先判断符合不符合精度,如果大于所给精度让初值为1的i自加1;最后小于精度的那一项停止循环,随之计算出no编写杨辉三角的过程中主要是一个排布的过程,因为按题中要求,得输出题中的格式,所以必须在输出的格式中加空格或退格,第二个空格是第一个的二倍,为了看起来比较流畅,我是用加退格,得到运行结果。心得体会编写程序是一件令人欣

10、悦的事,当你为解决某个问题绞尽脑汁最后又得到问题的解,那种心情只有自己才知道,我最大的心得就是通过编写简单的程序让我对编写程序有了更高的认识,逻辑上更清晰,增加了个人编程的小技巧,同时更有信心去编写更复杂的程序。实验名称实验二Java面向对象程序设计、异常处理和Applet小程序实验目的和要求1.掌握Java面向对象程序设计中类、继承、包和接口的概念和应用;2,掌握类变量和实例变量、类方法和实例方法的特点、使用;3.掌握异常的概念和Java异常处理机制,学会异常处理5个关键字的使用;4,熟悉Applet小程序的特点和运行过程,掌握Applet程序中常用的方法。实验内容1,完成教材实验4中实验内

11、容(1)2,完成教材实验4中实验内容(3)。3,完成教材实验5中实验内容(2),指出抛出异常的语句,属于何类异常。4,完成教材实验5中实验内容(3)。5,完成教材实验6中实验内容(2)主要仪器设备台式或笔记本计算机实验记录(写出实验内容中1,4,5的程序代码和运行结果)(可分栏或加页)实验四内容(1)的程序代码:import.*;importclassComplexdoublereal,imag;Complex()Complex(doublereal,doubleimag)=real;=imag;voidaddComplex(Complexc1,Complexc2)=+;=+;"(&

12、quot;+","+")");voidminusComplex(Complexc1,Complexc2)="("+","+")");voidmultiplyComplex(Complexc1,Complexc2)=*=*+*;"("+","+")");publicstaticvoidmain(String口args)throwslOExceptionScannerin=newScanner;"请输入第一个复数的实部和虚部并用空

13、格隔开:”);Complexc1=newComplex(),();”n请输入第二个复数的实部和虚部并用空格隔开:"力Complexc2=newComplex(),();Complexc=newComplex。;booleana=true;while(a)”请选择菜单:”);"1.复数加法");"2.复数减法");"3.复数乘法");"4.退出");switch()case1:(c1,c2);break;case2:(c1,c2);break;case3:(c1,c2);break;case4:a=fals

14、e;break;运行结果皿入第f"狗炎至里莫如的空喳胃产二-33清宝贝第二十怎双狗二左耳度弄用宦当后,82定七中三王,1*菱安心工,漫立苴W3.起蠹果三4.痘出55,与善速捱工亘L*沙七名2想=总w3.主士集昌“XttZ(-11.0,1)1罡/三之2.在左我,m乐之手三4-运七|(-3.018,0)袭屈mM生:1P一.N1W-.-P2-安st:我兰3:E蠹靠名4.事吐说明:输入的数可以是在精度范围内的任何实数,先输入两个复数后然后就可以通过菜单提示的功能去选择是要做加,减,乘,还是退出程序,比书中的要求的相对灵活一些。实验四内容(3)的程序代码:packagemymaths;publ

15、icinterfaceMaxMinValuedoubleseekMax(doublea,doubleb,doublec);doubleseekMin(doublea,doubleb,doublec);packagemymaths;publicclassSeekMaxMinValueimplementsMaxMinValuedoublemaxmin;publicdoubleseekMax(doublea,doubleb,doublec)=a>ba:(b>cb:c);return;publicdoubleseekMin(doublea,doubleb,doublec)=a<ba:

16、(b<cb:c);return;packagemymaths;importclassExamplepublicstaticvoidmain(String口args)Scannerin=newScanner;MaxMinValuenum=newSeekMaxMinValue();booleana=true;while(a)”请选择菜单:”);"1.取最大值");"2.取最小值”);"3.退出");switch()case 1:"输入要比较的三个数并用空格隔开:");"Max="+(),(),();br

17、eak;case 2:"输入要比较的三个数并用空格隔开:");"Min="+(),(),();break;case3:a=false;break;运行结果2三号小完3.退之博八量上我打三个电群眄交噂司产-33-S.7Max-3,0不力社式里1金聚大土2,吉皇*拦工迁出n班式於匕匕耳星中生/再交谒F.r138.7鼻士狂其生:2 .取盘小宜3 津也说明:有些繁琐,但根据提示进行就可以了实验五内容(三)程序:importclassBankStringname;longremainder;Bank(Stringname,longremainder)=name;=

18、remainder;longwithdraeal(longgetMoney)throwsInsufficientFundsExceptiontry=;if<0)thrownewInsufficientFundsException("尊敬的"+”您的余额不足");return;catch(InsufficientFundsExceptione)return=+getMoney;publicstaticvoidmain(String口args)throwsInsufficientFundsExceptionScannerin=newScanner;"请

19、输入您的姓名和存款金额并用空格或回车隔开:”);Bankuser=newBank(),();booleana=true;while(a)”请选择菜单:”);"1.取款");"2.退出");switch()case1:”请输入您要取款的金额(输完之后按enter结束):");”您的卡上余额:"+();break;case2:a=false;break;classInsufficientFundsExceptionextendsExceptionpublicInsufficientFundsException(Stringmsg)supe

20、r(msg);运行结果人患前她春除全收外百空安近三品费开二世亡尸之心06他士旺泉”:1.M2,军士1时轴人能要联勤的坐就LWrEiieritersJRJ=辔妁生上至军:1060有出葬索三:l.Sfr工逅±i哥/人萧青耳事35曲京:WSiceriteritfjs):?n营的*上余充see酒者旺苗三:liKft2 .Mi沼动入您要眼花巴兔叮:附生之更专叱nt电厂;苑j.口号巧世遇?:邑一产点引来双其是悠为T上d忌:800通士旺某空:I.JWfc1连输人您要用图的坐就iWrEiitenterseat)=30a归均生上台E;5师专培辉求三:l.Efr2迁出说明:书中要求的也没有这么多功能,为

21、了熟悉而加了这些必要的功能,从上述输入的数据中可以看书程序可以解决取钱以后卡上余额的显示,并且继续取还是取余额的钱,当余额不足是会提示信息,并且自己的余额不会变,还可以继续取钱。实验六内容(二)程序:import.*;import.*;importclassTestiextendsAppletimplementsActionListenerButtonb=newButton("change");Buttonb1=newButton("changei");publicvoidinit()add(b);add(b1);(this);(this);public

22、voidpaint(Graphicsg)Fontf=newFont("宋体",18);(f);;("Pleaselookatme.",0,30);publicvoidactionPerformed(ActionEvente)if()=b)Graphicsg=getGraphics();Fontf=newFont("楷体_GB2312",18);(f);("Pleaselookatme.",0,60);if()=b1)Graphicsg=getGraphics();Fontf=newFont("宋体”,+,

23、18);;("Pleaselookatme.",0,90);运行结果说明:按钮change按下出来黑字体,按钮changel按下出来绿色字体。遇到的问题和解决方法编程过程中遇到结果不一致的情况比较多,比如说银行系统中取走钱后余额是正确的,在取钱时余额又回到了刚开始存的钱,解决这些问题中用的最多的是this的变化,在编写复数是this用的相对也是比较多的,显示了其较高的灵活性!心得体会在编完银行系统时感觉很有成就感,在调试过程中都能按自己的要求去执行,再次提升了我个人对编程的兴趣,小程序我感觉编写的还不够好,只是做到了简单的要求,我想再给我点儿时间会编的更好!实验名称实验三图

24、形用户界面、多线程和多媒体编程实验目的和要求1 .掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法;2 .掌握线程的概念、线程的生命周期;掌握采用扩展Thread类和实现Runnable接口的多线程编程方法;3 .掌握Java中声音播放、图形绘制和显示图像的程序设计方法;实验内容1 .编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态栏显不相应的状态信息(使用showStatus(字符串)方法)。2 .完成教材实验7中实验内容(3)。3 .完成教材实验8中实验内容(1)(2)。4 .完成教材实验8中实验内容(3)。5 .编程绘制直

25、线、各种矩形、各种椭圆及多边形。6 .编程显示各种字体、字型、字号和/、同颜色的文字。主要仪器设备台式或笔记本计算机实验记录(写出实验内容中1,2,5的程序代码和运行结果)(可分栏或加页)实验内容一程序:import.*;import.*;importclassMouseTextextendsAppletPanelp1,p2;TextAreaf;publicvoidinit()setSize(800,600);setLayout(newGridLayout(1,2);p1=newPanel();p2=newPanel();(newBorderLayout();f=newTextArea();(

26、f);add(p1);add(p2);(newMouseAdapter()publicvoidmouseClicked(MouseEvente)intx=();inty=();("Pushat("+x+”,"+y+")n"););运行结果说明:当鼠标指向左边区域时,相应的坐标位置打印在文本区域。实验七实验内容(三)程序:import.*;importclassClickMeFramef;Buttonbtn;inta=1;publicvoidchushihua()f=newFrame();(400,300);(null);btn=newButto

27、n("ClickMe");(150,120);(110,30);(btn);(true);(newActionListener()publicvoidactionPerformed(ActionEvente)a+;if()=btn)if(a%2=0)("ClickMeAgain");else("ClickMe"););publicstaticvoidmain(String口args)ClickMea=newClickMe();();运行结果:ClickMe点击后:jClickMe蛆win再点击后:ClickMe说明:此程序是通过修改标

28、签来达到书中的目的的,点击后将会不停地再变。实验内容五程序:import.*;import.*;importclassGraphicsTextextendsJFrameimplementsActionListenerJPanelp1,p2;JLabellab1,lab2,lab3;JTextFieldf1,f2,f3;Stringstr1,str2,str3;intx,y;publicvoidinitJ()str1="直线";str2="圆";str3="矩形"setSize(600,300);GridLayoutg2=newGrid

29、Layout(1,2);setLayout(g2);p1=newJPanel();p2=newJPanel();add(pl);add(p2);setp1();setVisible(true);publicvoidsetp1()GridLayoutg1=newGridLayout(6,1);(gl);Fontfn1=newFont("宋体",25);lab1=newJLabel("请输入要画的几何图形:");(fn1);lab2=newJLabel("提示:只能输入直线,圆,矩形");(lab1);(lab2);f1=newJText

30、Field();(fn1);(this);(f1);publicvoidactionPerformed(ActionEvente)if()=fl)if()(newMouseAdapter()publicvoidmousePressed(MouseEvente)x二();y=();publicvoidmouseReleased(MouseEvente)Graphicsg=();(x,y,(),(););if()(newMouseAdapter()publicvoidmousePressed(MouseEvente)x=();y=();publicvoidmouseReleased(MouseEv

31、ente)Graphicsg=();(x,x,()-x,()-x););if()(newMouseAdapter()publicvoidmousePressed(MouseEvente)x=();y=();publicvoidmouseReleased(MouseEvente)Graphicsg=();(x,x,()-x,()-x););publicstaticvoidmain(String口args)GraphicsTextgt=newGraphicsText();();运行结果说明:此程序由鼠标事件完成,有一定局限性。遇到的问题和解决方法遇到的问题还是挺多,监听器使用不够熟练,思路不够清晰

32、,总是出现错误。心得体会总的来说这次实验不像前两次那么有成就感,总感觉少了点什么,总觉得自己想的没能够按要求达到目的,或者说总感觉变得程序漏洞百出,好好加油吧,我觉得还是对图形界面的编程不够熟悉,才学了一个月,我还有很大发展空间,好好记住Java中常用的东西,练得多了才能更加熟练!实验名称实验四网络、数据库和输入/输出流编程实验目的和要求1,掌握URU勺概念和编程方法,掌握Socket的概念和编程方法、2, 了解JDBC勺概念和工作原理,掌握使用JDBC?现简单的数据库管理;3, 了解流的概念和分类,掌握两种基本输入/输出流类的使用;4, 掌握Java文件类的使用。实验内容1,改写教材例的程序

33、,使用图形界面实现多用户聊天程序。2,完成教材实验11中的实验内容(1)(4)。3.利用Java文件类File的方法,获取磁盘文件的文件名、长度、大小等特性。4,编写程序,利用Java的字符流文件输入/输出类实现将源文件复制到另一文件。主要仪器设备台式或笔记本计算机实验记录(写出实验内容中1,2,4的程序代码和运行结果)(可分栏或加页)实验1的程序及运行结果程序如下:import,*;import,*;import,*;importclassZCX4_Serverpublicstaticvoidmain(String口args)Framef=newFrame("Server"

34、;);(600,400);(newGridLayout(3,1);Panelp1=newPanel();(newBorderLayout();Panelp2=newPanel();(newBorderLayout();Panelp3=newPanel();(null);(Pl);(p2);(p3);finalTextAreatxt1=newTextArea();(txtl,"Center");finalTextAreatxt2=newTextArea();(txt2,"Center");finalButtonbtn=newButton("发送&

35、quot;);(80,30);(260,60);(btn);(true);tryServerSocketserver=newServerSocket(4444);Socketclient=();BufferedReaderis=newBufferedReader(newInputStreamReader();finalPrintWriteros=newPrintWriter();("客户:"+()+"n");(newKeyAdapter()publicvoidkeyPressed(KeyEvente)if()=("服务器:"+()+&

36、quot;n");();();(""););(newActionListener()publicvoidactionPerformed(ActionEvente)if()=btn)("服务器:"+()+"n");();();(""););while(!().equals("bye")("客户:"+()+"n");();();();catch(Exceptione)"Error:"+e);import.*;import.*;im

37、port.*;importclassZCX4_Clientpublicstaticvoidmain(String口args)Framef=newFrame("Client");(600,400);(newGridLayout(3,1);Panelp1=newPanel();(newBorderLayout();Panelp2=newPanel();(newBorderLayout();Panelp3=newPanel();(null);(Pl);(p2);(p3);finalTextAreatxt1=newTextArea();(txtl,"Center"

38、;);finalTextAreatxt2=newTextArea();(txt2,"Center");finalButtonbtn=newButton("发送");(80,30);(260,60);(btn);(true);trySocketclient=newSocket("",4444);BufferedReaderis=newBufferedReader(newInputStreamReader();finalPrintWriteros=newPrintWriter();(newKeyAdapter()publicvoidkey

39、Pressed(KeyEvente)if()=("我自己:"+()+"n");();();(""););(newActionListener()publicvoidactionPerformed(ActionEvente)if()=btn)("我自己:"+()+"n");();();(""););while(!().equals("bye")("服务器:"+()+"n");();();();catch(Excepti

40、one)"Error:"+e);运行结果:发送说明:先运行Server程序再运行client程序,然后在下边的文本域中输入要输入的信息,按下enter或发送发送消息。实验2:源代码:import.*;import.*;import.*;publicclassStudentSqlpublicstaticvoidmain(String口args)newfwin();classfwinextendsJFrameimplementsActionListenerJTabletableJButtonbt1,bt2,bt3,bt4;Objecta叩;Connectionconn;Stat

41、ementstm;ResultSetrs;ObjectcolumnName="学号","姓名","性别","年龄","班级"inti=0;fwin()super("学生数据库查询");a=newObject505;table=newJTable(a,columnNam6;setSize(550,550);bt1 =new JButton(bt2 =new JButton(bt3 =new JButton(bt4 =new JButton("浏览表");“添

42、加学生信息")"年龄(>18)");"退出");(this );(this );(this );(this );Container con=getContentPane();(new FlowLayout();(bt1 );(bt2 );(bt3 );(bt4);Containercontainer=getContentPane();(newJScrollPane(table),;setVisible(true);validate。;addWindowListener(newWindowAdapter()publicvoidclosing(WindowEvente)(0););OverridepublicvoidactionPerfo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论