版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验由自己当时亲自完成仅供参照,希望可以帮助大家本科实验报告课程名称:Java程序设计B实验项目:Java语言基础编程和面向对象设计实验地址:逸夫楼501专业班级:0000学号:00000000学生姓名:心胸轩昂指导教师:2012年13月13日实验名称实验一Java环境搭建和Java语言基础编程实验目的和要求掌握JDK、Eclipse的下载和安装,并熟练使用API帮助文档;学会JavaApplication程序和JavaApplet程序的编制、编译和运行;熟练掌握Java程序流程控制语句的使用;熟练掌握Java语言数组的使用、字符串以及字符串办理方法的使用。实验内容下载并安装最新版本的JDK和Eclipse,设置环境变量,下载API帮助文档。2.设计JavaApplication程序,输出“我叫×××,我编写的JavaApplication程序运行经过了”,分别在命令提示符和Eclipse环境中编译、运行。完成习题的编程、调试与运行。使用for循环语句输出习题中的图案。完成习题的编程、调试与运行。完成习题和的编程、调试与运行。主要仪器设备台式或笔录本计算机实验记录(写出实验内容中3,5,6的程序代码和运行结果)(可分栏或加页)程序代码importclassDataType{public
static
void
main(String[]args){Scannerin=
newScanner;请输入一个long型数据(输完按enter结束):");longa=( );请输入一个float型数据(输完按enter结束):");floatb=( );请输入一个double型数据(输完按enter结束):");doublec=( );"long:"+a);"float:"+b);"double:"+c);}}运行结果程序代码importclassValueFore{intn;ValueFore( ){=calculateN( );}doublestackBy(intn){inti;doubles=1;for(i=1;i<=n;i++){s*=i;}returns;}doubleoverlap( ){inti;doublesum=1;for(i=1;i<=;i++){sum+=1/stackBy(i);}returnsum;}intcalculateN( ){Scannerin=newScanner;inti=1;doublea=( );while(1/stackBy(i)>a){i++;}returni;}public
static
voidmain(String[]args){Scannerin=newScanner;booleanb=true;while(b){请选择菜单:");1.计算不同样精度的e值");2.退出");switch( )){case1:{请输入精度(比方:1e-3,表示):");ValueForea=newValueFore( );"e="+( ));};break;case2:b=false;break;}}}}运行结果说明:没有按书中的要求去求,但是这个程序功能更强,运用了菜单的方式,使用程序的人能求出不同样精度的e值。程序代码publicclassStringText{public
static
voidmain(String[]args){Stringstr1="Iam";Stringstr2="astudent";Stringstr3="我是中国人";StringBufferstr=newStringBuffer( );(str1).append(str2).append(str3);}}运行结果程序代码import
classTriangle{voidprintTriangle({
introw)inti,j;int[][]a=newint[row][];for(i=0;i<row;i++)a[i]=newint[i+1];for(i=0;i<row;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<row;i++){for(j=1;j<i;j++){a[i][j]=a[i-1][j-1]+a[i-1][j];}}输出杨辉三角为:");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( );请输入杨辉三角的行数:");( ));}}运行结果说明:这个程序同样也拥有必然的灵便行,随意输出杨辉三角的行数就就可以获取不同样的杨辉三角,比方输入6,获取以下结果:遇到的问题和解决方法编写求e值的过程中题中只给出了最后一项的精度,这就要求我们用这一精度去先求出n来,求n就是要解决的问题之一,我用了一个循环,先判断吻合不吻合精度,若是大于所给精度让初值为1的i自加1;最后小于精度的那一项停止循环,随之计算出n。编写杨辉三角的过程中主若是一个排布的过程,因为按题中要求,得输出题中的格式,所以必定在输出的格式中加空格或退格,第二个空格是第一个的二倍,为了看起来比较流畅,我是用加退格,获取运行结果。心得领悟编写程序是一件令人欣悦的事,当你为解决某个问题冥思苦想最后又获取问题的解,那种心情只有自己才知道,我最大的心得就是经过编写简单的程序让我对编写程序有了更高的认识,逻辑上更清楚,增加了个人编程的小技巧,同时更有信心去编写更复杂的程序。实验名称实验二Java面向对象程序设计、异常办理和Applet小程序实验目的和要求掌握Java面向对象程序设计中类、继承、包和接口的看法和应用;掌握类变量和实例变量、类方法和实例方法的特点、使用;掌握异常的看法和Java异常办理体系,学会异常办理5个要点字的使用;熟悉Applet小程序的特点和运行过程,掌握Applet程序中常用的方法。实验内容完成教材实验4中实验内容(1)完成教材实验4中实验内容(3)。完成教材实验5中实验内容(2),指出抛出异常的语句,属于何类异常。完成教材实验5中实验内容(3)。完成教材实验6中实验内容(2)主要仪器设备台式或笔录本计算机实验记录(写出实验内容中1,4,5的程序代码和运行结果)(可分栏或加页)实验四内容(1)的程序代码:import.*;importclassComplex{doublereal,imag;Complex( ){}Complex(doublereal,doubleimag){=real;=imag;}voidaddComplex(Complexc1,Complexc2){=+;=+;"("++","++")");}voidminusComplex(Complexc1,Complexc2){="("++","++")");}voidmultiplyComplex(Complexc1,Complexc2){=*=*+*;"("++","++")");}public
static
voidmain(String[]args)
throwsIOException{Scannerin=
newScanner;请输入第一个复数的实部和虚部并用空格分开:");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=false;break;}}}}运行结果说明:输入的数可以是在精度范围内的任何实数,先输入两个复数后尔后就可以经过菜单提示的功能去选择是要做加,减,乘,还是退出程序,比书中的要求的相对灵便一些。实验四内容(3)的程序代码:packagemymaths;publicinterfaceMaxMinValue{doubleseekMax(doublea,doubleb,doublec);doubleseekMin(doublea,doubleb,doublec);}packagemymaths;publicclassSeekMaxMinValueimplementsMaxMinValue{doublepublic{
max,min;doubleseekMax(doublea,doubleb,doublec)=a>b?a:(b>c?b:c);return;}publicdoubleseekMin(doublea,doubleb,doublec){=a<b?a:(b<c?b:c);return;}}packagemymaths;importclassExample{public
static
voidmain(String[]args){Scannerin=newScanner;MaxMinValuenum=newSeekMaxMinValue( );booleana=true;while(a){请选择菜单:");1.取最大值");2.取最小值");3.退出");switch( )){case1:输入要比较的三个数并用空格分开:");"Max="+( ),( ),( )));break;case2:输入要比较的三个数并用空格分开:");"Min="+( ),( ),( )));break;case3:a=false;break;}}}}运行结果说明:有些繁琐,但依照提示进行就可以了实验五内容(三)程序:importclassBank{Stringname;longremainder;Bank(Stringname,{
longremainder)=name;=remainder;}longwithdraeal(
longgetMoney)
throwsInsufficientFundsException{try{=;if<0){thrownewInsufficientFundsException("尊敬的"++"您的余额不足");}return;}catch(InsufficientFundsExceptione){return=+getMoney;}}publicstaticvoidmain(String[]args)throwsInsufficientFundsException{Scannerin=newScanner;请输入您的姓名和存款金额并用空格或回车分开:");Bankuser=newBank( ),( ));booleana=true;while(a){请选择菜单:");1.取款");2.退出");switch( )){case1:{"请输入您要取款的金额(输完此后按enter结束):");您的卡上余额:"+( )));};break;case2:a=false;break;}}}}classInsufficientFundsExceptionextendsException{publicInsufficientFundsException(Stringmsg){super(msg);}}运行结果说明:书中要求的也没有这么多功能,为了熟悉而加了这些必要的功能,从上述输入的数据中可以看书程序可以解决取钱今后卡上余额的显示,并且连续取还是取余额的钱,当余额不足是会提示信息,并且自己的余额不会变,还可以连续取钱。实验六内容(二)程序:import.*;import.*;importclassTest1extendsAppletimplementsActionListener{ButtonButtonpublic
b=newButton(b1=newButton(voidinit( )
"change");"change1");{add(b);add(b1);(this);(this);}publicvoidpaint(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("宋体",+,18);(f);;("Pleaselookatme.",0,90);}}}运行结果说明:按钮change按下出来黑字体,按钮change1按下出来绿色字体。遇到的问题和解决方法编程过程中遇到结果不一致的情况比很多,比方说银行系统中取走钱后余额是正确的,在取钱时余额又回到了刚开始存的钱,解决这些问题中用的最多的是this的变化,在编写复数是this用的相对也是比很多的,显示了其较高的灵便性!心得领悟在编完银行系统时感觉很有成就感,在调试过程中都能按自己的要求去执行,再次提升了我个人对编程的兴趣,小程序我感觉编写的还不够好,可是做到了简单的要求,我想再给我点儿时间会编的更好!实验名称实验三图形用户界面、多线程和多媒体编程实验目的和要求掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的办理;掌握布局控制的方法;2.掌握线程的看法、线程的生命周期;掌握采用扩展Thread类和实现Runnable接口的多线程编程方法;掌握Java中声音播放、图形绘制和显示图像的程序设计方法;实验内容编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态栏显示相应的状态信息(使用showStatus(字符串)方法)。完成教材实验7中实验内容(3)。完成教材实验8中实验内容(1)(2)。完成教材实验8中实验内容(3)。编程绘制直线、各种矩形、各种椭圆及多边形。编程显示各种字体、字型、字号和不同样颜色的文字。主要仪器设备台式或笔录本计算机实验记录(写出实验内容中1,2,5的程序代码和运行结果)(可分栏或加页)实验内容一程序:import.*;import.*;importclassMouseTextextendsApplet{Panelp1,p2;TextAreaf;public{
voidinit( )setSize(800,600);setLayout(newGridLayout(1,2));p1=newPanel( );p2=newPanel( );(newBorderLayout( ));=newTextArea( );(f);add(p1);add(p2);(newMouseAdapter( ){public{
voidmouseClicked(MouseEvente)intx=( );inty=( );("Pushat("+x+","+y+")\n");}});}}运行结果说明:当鼠标指向左边地域时,相应的坐标地址打印在文当地域。实验七实验内容(三)程序:import.*;importclass
ClickMe{Framef;Buttonbtn;inta=1;publicvoid{
chushihua( )=newFrame( );(400,300);(null);btn=newButton("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( );( );}}运行结果:点击后:再点击后:说明:此程序是经过更正标签来达到书中的目的的,点击后将会不停地再变。实验内容五程序:import.*;import.*;importclass
GraphicsText
extends
JFrame
implements
ActionListener{JPanelp1,p2;JLabellab1,lab2,lab3;JTextFieldf1,f2,f3;Stringstr1,str2,str3;intx,y;public
void
initJ( ){str1="直线";str2="圆";str3="矩形";setSize(600,300);GridLayoutg2=newGridLayout(1,2);setLayout(g2);p1=newJPanel( );p2=newJPanel( );add(p1);add(p2);setp1( );setVisible(true);}public
void
setp1( ){GridLayoutg1=newGridLayout(6,1);(g1);Fontfn1=newFont("宋体",,25);lab1=newJLabel("请输入要画的几何图形:");(fn1);lab2=newJLabel("提示:只能输入直线,圆,矩形(lab1);(lab2);
");f1=newJTextField( );(fn1);(this);(f1);}publicvoidactionPerformed(ActionEvente){if( )==f1){if( ))){(newMouseAdapter( ){publicvoidmousePressed(MouseEvente){x=( );y=( );}publicvoidmouseReleased(MouseEvente){Graphicsg=( );(x,y,( ),( ));}});}if( ))){(newMouseAdapter( ){publicvoidmousePressed(MouseEvente){x=( );y=( );}publicvoidmouseReleased(MouseEvente){Graphicsg=( );(x,x,( )-x,( )-x);}});}if( ))){(newMouseAdapter( ){publicvoidmousePressed(MouseEvente){x=( );y=( );}publicvoidmouseReleased(MouseEvente){Graphicsg=( );(x,x,( )-x,( )-x);}});}}}publicstaticvoidmain(String[]args){GraphicsTextgt=newGraphicsText( );( );}}运行结果说明:此程序由鼠标事件完成,有必然限制性。遇到的问题和解决方法遇到的问题还是挺多,监听器使用不够熟练,思路不够清楚,总是出现错误。心得领悟总的来说此次实验不像前两次那么有成就感,总感觉少了点什么,总感觉自己想的没可以按要求达到目的,也许说总感觉变得程序漏洞百出,好好加油吧,我感觉还是对图形界面的编程不够熟悉,才学了一个月,我还有很大发展空间,好好记住Java中常用的东西,练得多了才能更加熟练!实验名称实验四网络、数据库和输入/输出流编程实验目的和要求掌握URL的看法和编程方法,掌握Socket的看法和编程方法、认识JDBC的看法和工作原理,掌握使用JDBC实现简单的数据库管理;认识流的看法和分类,掌握两种基本输入/输出流类的使用;掌握Java文件类的使用。实验内容改写教材例的程序,使用图形界面实现多用户聊天程序。完成教材实验11中的实验内容(1)~(4)。利用Java文件类File的方法,获取磁盘文件的文件名、长度、大小等特点。编写程序,利用Java的字符流文件输入/输出类实现将源文件复制到另一文件。主要仪器设备台式或笔录本计算机实验记录(写出实验内容中1,2,4的程序代码和运行结果)(可分栏或加页)实验1的程序及运行结果程序以下:import.*;import.*;import.*;import
classZCX4_Server{public
static
voidmain(String[]args){Framef=newFrame("Server");(600,400);(newGridLayout(3,1));Panelp1=newPanel( );(newBorderLayout( ));Panelp2=newPanel( );(newBorderLayout( ));Panelp3=newPanel( );(null);(p1);(p2);(p3);finalTextAreatxt1=newTextArea( );(txt1,"Center");finalTextAreatxt2=newTextArea( );(txt2,"Center");finalButtonbtn=newButton("发送");(80,30);(260,60);(btn);(true);try{ServerSocketserver=
newServerSocket(4444);Socketclient=( );BufferedReaderis=finalPrintWriteros=
newBufferedReader(newPrintWriter( ));
newInputStreamReader( )));("客户:"+( )+"\n");(newKeyAdapter( ){public{
voidkeyPressed(KeyEvente)if( )=={("服务器:"+( )+"\n");( ));( );("");}}});(newActionListener( ){publicvoidactionPerformed(ActionEvente){if( )==btn){("服务器::"+( )+"\n");( ));( );("");}}});while(!( ).equals("bye")){("客户:"+( )+"\n");}( );( );( );}catch(Exceptione){"Error:"+e);}}}import.*;import.*;import.*;importclass
ZCX4_Client{public
static
voidmain(String[]args){Framef=newFrame("Client");(600,400);(newGridLayout(3,1));Panelp1=newPanel( );(newBorderLayout( ));Panelp2=newPanel( );(newBorderLayout( ));Panelp3=newPanel( );(null);(p1);(p2);(p3);finalTextAreatxt1=newTextArea( );(txt1,"Center");finalTextAreatxt2=newTextArea( );(txt2,"Center");finalButtonbtn=newButton("发送");(80,30);(260,60);(btn);(true);try{Socketclient=newSocket("",4444);BufferedReaderis=newBufferedReader(finalPrintWriteros=newPrintWriter( ));(newKeyAdapter( ){
newInputStreamReader( )));publicvoidkeyPressed(KeyEvente){if( )=={("我自己:"+( )+"\n");( ));( );("");}}});(newActionListener( ){publicvoidactionPerformed(ActionEvente){if( )==btn){("我自己:"+( )+"\n");( ));( );("");}}});while(!( ).equals("bye")){("服务器:"+( )+"\n");}( );( );( );}catch(Exceptione){"Error:"+e);}}}运行结果:说明:先运行Server程序再运行client程序,尔后在下边的文本域中输入要输入的信息,按下enter或发送发送信息。实验2:源代码:import.*;import.*;import.*;publicclassStudentSql{publicstaticvoidmain(String[]args){newfwin( );}}classfwinextendsJFrameimplementsActionListener{JTabletable;JButtonbt1,bt2,bt3,bt4;Objecta[][];Connectionconn;Statementstm;ResultSetrs;ObjectcolumnName[]={"学号","姓名","性别","年龄","班级"};inti=0;fwin( ){super("学生数据库盘问");a=newObject[50][5];table=newJTable(a,columnName);setSize(550,550);bt1=newJButton("阅读表");bt2=newJButton("增加学生信息");bt3=newJButton("年龄(>18)");bt4=newJButton("退出");(this);(this);(this);(this);Containercon=getContentPane( );(newFlowLayout( ));(bt1);(bt2);(bt3);(bt4);(newJScrollPane(table),;setVisible(true);validate( );addWi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新教材北师大版数学必修第一册换底公式教案
- 英语成语习语的翻译全国示范课微课金奖教案
- 高清校园安防监控系统施工组织方案试卷教案(2025-2026学年)
- 医学影像诊疗教案
- GMP基础知识培训教案
- 教案人教版八年级语文下册满井游记
- 幼儿园科学主题观察活动教案
- 细胞更新课件
- 中班科学吸管真神奇教案反思
- 希沃交通安全教育课课件
- 2025天津大学管理岗位集中招聘15人笔试备考重点题库及答案解析
- 2026年人教版(2024)初中美术七年级上册期末综合测试卷及答案(四套)
- 供应饭菜应急预案(3篇)
- 2026广东东莞市公安局招聘普通聘员162人笔试考试参考试题及答案解析
- 《马原》期末复习资料
- 管理信息系统(同济大学)知到智慧树章节测试课后答案2024年秋同济大学
- 甄嬛传(滴血认亲台词1)
- 楼板凿除重新浇筑方案
- 学校-全套安全隐患检查记录表(附依据)
- 油层物理西安石油大学吐血整理
- 马海涛中国税制习题与答案
评论
0/150
提交评论