版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./实验由本人当时亲自完成仅供参考,希望可以帮助大家本科实验报告课程名称:Java程序设计B实验项目:Java语言基础编程和面向对象设计实验地点:逸夫楼501专业班级:0000学号:00000000学生:氣宇軒昂指导教师:20XX13月13日实验名称实验一Java环境搭建和Java语言基础编程实验目的和要求掌握JDK、Eclipse的下载和安装,并熟练使用API帮助文档;学会JavaApplication程序和JavaApplet程序的编制、编译和运行;熟练掌握Java程序流程控制语句的使用;熟练掌握Java语言数组的使用、字符串以及字符串处理方法的使用。实验容下载并安装最新版本的JDK和Eclipse,设置环境变量,下载API帮助文档。设计JavaApplication程序,输出"我叫×××,我编写的JavaApplication程序运行通过了",分别在命令提示符和Eclipse环境中编译、运行。完成习题2.7的编程、调试与运行。使用for循环语句输出习题3.5中的图案。完成习题3.9的编程、调试与运行。完成习题4.5和4.7的编程、调试与运行。主要仪器设备台式或笔记本计算机实验记录<写出实验容中3,5,6的程序代码和运行结果><可分栏或加页>2.7程序代码importnner;publicclassDataType{publicstaticvoidmain<String[]args> { Scannerin=newScanner<System.in>; System.out.print<"请输入一个long型数据〔输完按enter结束:">;longa=in.nextLong<>; System.out.print<"请输入一个float型数据〔输完按enter结束:">;floatb=in.nextFloat<>; System.out.print<"请输入一个double型数据〔输完按enter结束:">;doublec=in.nextDouble<>; System.out.println<"long:"+a>; System.out.println<"float:"+b>; System.out.println<"double:"+c>; }}运行结果3.9程序代码importjava.util.Scanner;publicclassValueFore{intn; ValueFore<> {this.n=calculateN<>; }doublestackBy<intn> {inti;doubles=1;for<i=1;i<=n;i++> { s*=i; }returns; }doubleoverlap<> {inti;doublesum=1;for<i=1;i<=this.n;i++> { sum+=1/stackBy<i>; }returnsum; }intcalculateN<> { Scannerin=newScanner<System.in>;inti=1;doublea=in.nextDouble<>;while<1/stackBy<i>>a> { i++; }returni; }publicstaticvoidmain<String[]args> { Scannerin=newScanner<System.in>;booleanb=true;while<b> { System.out.println<"请选择菜单:">; System.out.println<"1.计算不同精度的e值">; System.out.println<"2.退出">;switch<in.nextByte<>> {case1: { System.out.println<"请输入精度〔例如:1e-3,表示0.001:">; ValueForea=newValueFore<>; System.out.println<"e="+a.overlap<>>; };break;case2:b=false;break; } } }}运行结果说明:没有按书中的要求去求,但是这个程序功能更强,运用了菜单的方式,使用程序的人能求出不同精度的e值。4.5程序代码publicclassStringText{publicstaticvoidmain<String[]args> { Stringstr1="Iam"; Stringstr2="astudent"; Stringstr3="我是中国人"; StringBufferstr=newStringBuffer<>; str.append<str1>.append<str2>.append<str3>; System.out.println<str>; System.out.println<str.charAt<8>>; System.out.println<str.charAt<16>>; }}运行结果4.7程序代码importjava.util.Scanner;publicclassTriangle{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]; } } System.out.println<"输出辉三角为:">;for<i=0;i<row;i++> {for<j=row-1;j>i;j--> System.out.print<"\t">;for<j=0;j<=i;j++> { System.out.print<a[i][j]>;if<i!=0> System.out.print<"\t\t">; } System.out.print<"\n">; } }publicstaticvoidmain<String[]args> { Scannerin=newScanner<System.in>; Trianglenum=newTriangle<>; System.out.print<"请输入辉三角的行数:">; num.printTriangle<in.nextByte<>>; }}运行结果说明:这个程序同样也具有一定的灵活行,随意输出辉三角的行数就就可以得到不同的辉三角,比如输入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的程序代码:importjava.io.*;importjava.util.Scanner;publicclassComplex{doublereal,imag; Complex<> { } Complex<doublereal,doubleimag> {this.real=real;this.imag=imag; }voidaddComplex<Complexc1,Complexc2> {this.real=c1.real+c2.real;this.imag=c1.imag+c2.imag; System.out.println<"<"+this.real+","+this.imag+">">; }voidminusComplex<Complexc1,Complexc2> {this.real=c1.real-c2.real;this.imag=c1.imag-c2.imag; System.out.println<"<"+this.real+","+this.imag+">">; }voidmultiplyComplex<Complexc1,Complexc2> {this.real=c1.real*c2.real-c1.imag*c2.imag;this.imag=c1.real*c2.imag+c1.imag*c2.real; System.out.println<"<"+this.real+","+this.imag+">">; }publicstaticvoidmain<String[]args>throwsIOException { Scannerin=newScanner<System.in>; System.out.print<"请输入第一个复数的实部和虚部并用空格隔开:">; Complexc1=newComplex<in.nextDouble<>,in.nextDouble<>>; System.out.print<"\n请输入第二个复数的实部和虚部并用空格隔开:">; Complexc2=newComplex<in.nextDouble<>,in.nextDouble<>>; Complexc=newComplex<>;booleana=true;while<a> { System.out.println<"请选择菜单:">; System.out.println<"1.复数加法">; System.out.println<"2.复数减法">; System.out.println<"3.复数乘法">; System.out.println<"4.退出">;switch<in.nextByte<>> {case1:c.addComplex<c1,c2>;break;case2:c.minusComplex<c1,c2>;break;case3:c.multiplyComplex<c1,c2>;break;case4:a=false;break; } } }}运行结果说明:输入的数可以是在精度围的任何实数,先输入两个复数后然后就可以通过菜单提示的功能去选择是要做加,减,乘,还是退出程序,比书中的要求的相对灵活一些。实验四容〔3的程序代码:packagemymaths;publicinterfaceMaxMinValue{doubleseekMax<doublea,doubleb,doublec>;doubleseekMin<doublea,doubleb,doublec>;}packagemymaths;publicclassSeekMaxMinValueimplementsMaxMinValue{doublemax,min;publicdoubleseekMax<doublea,doubleb,doublec> {this.max=a>b?a:<b>c?b:c>;returnthis.max; }publicdoubleseekMin<doublea,doubleb,doublec> {this.min=a<b?a:<b<c?b:c>;returnthis.min; }}packagemymaths;importjava.util.Scanner;publicclassExample{publicstaticvoidmain<String[]args> { Scannerin=newScanner<System.in>; MaxMinValuenum=newSeekMaxMinValue<>;booleana=true;while<a> { System.out.println<"请选择菜单:">; System.out.println<"1.取最大值">; System.out.println<"2.取最小值">; System.out.println<"3.退出">;switch<in.nextByte<>> {case1: System.out.print<"输入要比较的三个数并用空格隔开:">; System.out.println<"Max="+num.seekMax<in.nextDouble<>,in.nextDouble<>,in.nextDouble<>>>;break;case2: System.out.print<"输入要比较的三个数并用空格隔开:">; System.out.println<"Min="+num.seekMin<in.nextDouble<>,in.nextDouble<>,in.nextDouble<>>>;break;case3:a=false;break; } } }}运行结果说明:有些繁琐,但根据提示进行就可以了实验五容〔三程序:importjava.util.Scanner;publicclassBank{ Stringname;longremainder; Bank<Stringname,longremainder> {=name;this.remainder=remainder; }longwithdraeal<longgetMoney>throwsInsufficientFundsException {try {this.remainder=this.remainder-getMoney;if<this.remainder<0> {thrownewInsufficientFundsException<"尊敬的"++"您的余额不足">; }returnthis.remainder; }catch<InsufficientFundsExceptione> { System.out.println<e.getMessage<>>;returnthis.remainder=this.remainder+getMoney; } }publicstaticvoidmain<String[]args>throwsInsufficientFundsException { Scannerin=newScanner<System.in>; System.out.print<"请输入您的和存款金额并用空格或回车隔开:">; Bankuser=newBank<in.next<>,in.nextLong<>>;booleana=true;while<a> { System.out.println<"请选择菜单:">; System.out.println<"1.取款">; System.out.println<"2.退出">;switch<in.nextByte<>> {case1: { System.out.print<"请输入您要取款的金额〔输完之后按enter结束:">; System.out.println<"您的卡上余额:"+user.withdraeal<in.nextLong<>>>; };break;case2:a=false;break; } } }}classInsufficientFundsExceptionextendsException{publicInsufficientFundsException<Stringmsg> {super<msg>; }}运行结果说明:书中要求的也没有这么多功能,为了熟悉而加了这些必要的功能,从上述输入的数据中可以看书程序可以解决取钱以后卡上余额的显示,并且继续取还是取余额的钱,当余额不足是会提示信息,并且自己的余额不会变,还可以继续取钱。实验六容〔二程序:importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassTest1extendsAppletimplementsActionListener{ Buttonb=newButton<"change">; Buttonb1=newButton<"change1">;publicvoidinit<> { add<b>; add<b1>;b.addActionListener<this>;b1.addActionListener<this>; }publicvoidpaint<Graphicsg> { Fontf=newFont<"宋体",Font.PLAIN,18>; g.setFont<f>; g.setColor<Color.blue>; g.drawString<"Pleaselookatme.",0,30>; }publicvoidactionPerformed<ActionEvente> {if<e.getSource<>==b> { Graphicsg=getGraphics<>; Fontf=newFont<"楷体_GB2312",Font.PLAIN,18>; g.setFont<f>; g.setColor<Color.black>; g.drawString<"Pleaselookatme.",0,60>; }if<e.getSource<>==b1> { Graphicsg=getGraphics<>; Fontf=newFont<"宋体",Font.PLAIN+Font.ITALIC,18>; g.setFont<f>; g.setColor<Color.green>; g.drawString<"Pleaselookatme.",0,90>; } }}运行结果说明:按钮change按下出来黑字体,按钮change1按下出来绿色字体。遇到的问题和解决方法编程过程中遇到结果不一致的情况比较多,比如说银行系统中取走钱后余额是正确的,在取钱时余额又回到了刚开始存的钱,解决这些问题中用的最多的是this的变化,在编写复数是this用的相对也是比较多的,显示了其较高的灵活性!心得体会在编完银行系统时感觉很有成就感,在调试过程中都能按自己的要求去执行,再次提升了我个人对编程的兴趣,小程序我感觉编写的还不够好,只是做到了简单的要求,我想再给我点儿时间会编的更好!实验名称实验三图形用户界面、多线程和多媒体编程实验目的和要求掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法;掌握线程的概念、线程的生命周期;掌握采用扩展Thread类和实现Runnable接口的多线程编程方法;掌握Java中声音播放、图形绘制和显示图像的程序设计方法;实验容编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态栏显示相应的状态信息<使用showStatus<字符串>方法>。完成教材实验7中实验容<3>。完成教材实验8中实验容<1><2>。完成教材实验8中实验容<3>。编程绘制直线、各种矩形、各种椭圆及多边形。编程显示各种字体、字型、字号和不同颜色的文字。主要仪器设备台式或笔记本计算机实验记录<写出实验容中1,2,5的程序代码和运行结果><可分栏或加页>实验容一程序:importjava.applet.*;importjava.awt.*;importpter;importjava.awt.event.MouseEvent;publicclassMouseTextextendsApplet{ Panelp1,p2; TextAreaf;publicvoidinit<> { setSize<800,600>; setLayout<newGridLayout<1,2>>;p1=newPanel<>;p2=newPanel<>;p2.setLayout<newBorderLayout<>>;f=newTextArea<>;p2.add<f>; add<p1>; add<p2>;p1.addMouseListener<newMouseAdapter<> {publicvoidmouseClicked<MouseEvente> {intx=e.getX<>;inty=e.getY<>;f.append<"Pushat<"+x+","+y+">\n">; } }>; }}运行结果说明:当鼠标指向左边区域时,相应的坐标位置打印在文本区域。实验七实验容〔三程序:importjava.awt.*;importjava.awt.event.*;publicclassClickMe{ Framef; Buttonbtn;inta=1;publicvoidchushihua<> {f=newFrame<>;f.setSize<400,300>;f.setLayout<null>;btn=newButton<"ClickMe">;btn.setLocation<150,120>;btn.setSize<110,30>;f.add<btn>;f.setVisible<true>;btn.addActionListener<newActionListener<> {publicvoidactionPerformed<ActionEvente> {a++;if<e.getSource<>==btn> {if<a%2==0> {btn.setLabel<"ClickMeAgain">; }else {btn.setLabel<"ClickMe">; } } } }>; }publicstaticvoidmain<String[]args> { ClickMea=newClickMe<>; a.chushihua<>; }}运行结果:点击后:再点击后:说明:此程序是通过修改标签来达到书中的目的的,点击后将会不停地再变。实验容五程序:importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassGraphicsTextextendsJFrameimplementsActionListener{ JPanelp1,p2; JLabellab1,lab2,lab3; JTextFieldf1,f2,f3; Stringstr1,str2,str3;intx,y;publicvoidinitJ<> {str1="直线";str2="圆";str3="矩形"; setSize<600,300>; GridLayoutg2=newGridLayout<1,2>; setLayout<g2>;p1=newJPanel<>;p2=newJPanel<>; add<p1>; add<p2>; setp1<>; setVisible<true>; }publicvoidsetp1<> { GridLayoutg1=newGridLayout<6,1>;p1.setLayout<g1>; Fontfn1=newFont<"宋体",Font.BOLD,25>;lab1=newJLabel<"请输入要画的几何图形:">;lab1.setFont<fn1>;lab2=newJLabel<"提示:只能输入直线,圆,矩形">;p1.add<lab1>;p1.add<lab2>;f1=newJTextField<>;f1.setFont<fn1>;f1.addActionListener<this>;p1.add<f1>; }publicvoidactionPerformed<ActionEvente> {if<e.getSource<>==f1> {if<str1.equals<f1.getText<>>> {p2.addMouseListener<newMouseAdapter<> {publicvoidmousePressed<MouseEvente> {x=e.getX<>;y=e.getY<>; }publicvoidmouseReleased<MouseEvente> { Graphicsg=p2.getGraphics<>; g.drawLine<x,y,e.getX<>,e.getY<>>; } }>; }if<str2.equals<f1.getText<>>> {p2.addMouseListener<newMouseAdapter<> {publicvoidmousePressed<MouseEvente> {x=e.getX<>;y=e.getY<>; }publicvoidmouseReleased<MouseEvente> { Graphicsg=p2.getGraphics<>; g.drawOval<x,x,e.getX<>-x,e.getX<>-x>; } }>; }if<str3.equals<f1.getText<>>> {p2.addMouseListener<newMouseAdapter<> {publicvoidmousePressed<MouseEvente> {x=e.getX<>;y=e.getY<>; }publicvoidmouseReleased<MouseEvente> { Graphicsg=p2.getGraphics<>; g.drawRect<x,x,e.getX<>-x,e.getX<>-x>; } }>; } } }publicstaticvoidmain<String[]args> { GraphicsTextgt=newGraphicsText<>; gt.initJ<>; }}运行结果说明:此程序由鼠标事件完成,有一定局限性。遇到的问题和解决方法遇到的问题还是挺多,监听器使用不够熟练,思路不够清晰,总是出现错误。心得体会总的来说这次实验不像前两次那么有成就感,总感觉少了点什么,总觉得自己想的没能够按要求达到目的,或者说总感觉变得程序漏洞百出,好好加油吧,我觉得还是对图形界面的编程不够熟悉,才学了一个月,我还有很大发展空间,好好记住Java中常用的东西,练得多了才能更加熟练!实验名称实验四网络、数据库和输入/输出流编程实验目的和要求掌握URL的概念和编程方法,掌握Socket的概念和编程方法、了解JDBC的概念和工作原理,掌握使用JDBC实现简单的数据库管理;了解流的概念和分类,掌握两种基本输入/输出流类的使用;掌握Java文件类的使用。实验容改写教材例11.10的程序,使用图形界面实现多用户聊天程序。完成教材实验11中的实验容<1>~<4>。利用Java文件类File的方法,获取磁盘文件的文件名、长度、大小等特性。编写程序,利用Java的字符流文件输入/输出类实现将源文件复制到另一文件。主要仪器设备台式或笔记本计算机实验记录<写出实验容中1,2,4的程序代码和运行结果><可分栏或加页>实验1的程序及运行结果程序如下:importjava.io.*;import.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;publicclassZCX4_Server{publicstaticvoidmain<String[]args> { Framef=newFrame<"Server">; f.setSize<600,400>; f.setLayout<newGridLayout<3,1>>; Panelp1=newPanel<>; p1.setLayout<newBorderLayout<>>; Panelp2=newPanel<>; p2.setLayout<newBorderLayout<>>; Panelp3=newPanel<>; p3.setLayout<null>; f.add<p1>; f.add<p2>; f.add<p3>;finalTextAreatxt1=newTextArea<>; p1.add<txt1,"Center">;finalTextAreatxt2=newTextArea<>; p2.add<txt2,"Center">;finalButtonbtn=newButton<"发送">; btn.setSize<80,30>; btn.setLocation<260,60>; p3.add<btn>; f.setVisible<true>;try { ServerSocketserver=newServerSocket<4444>; Socketclient=server.accept<>; BufferedReaderis=newBufferedReader<newInputStreamReader<client.getInputStream<>>>;finalPrintWriteros=newPrintWriter<client.getOutputStream<>>; txt1.append<"客户:"+is.readLine<>+"\n">; txt2.addKeyListener<newKeyAdapter<> {publicvoidkeyPressed<KeyEvente> {if<e.getKeyCode<>==KeyEvent.VK_ENTER> { txt1.append<"服务器:"+txt2.getText<>+"\n">; os.println<txt2.getText<>>; os.flush<>; txt2.setText<"">; } } }>; btn.addActionListener<newActionListener<> {publicvoidactionPerformed<ActionEvente> {if<e.getSource<>==btn> { txt1.append<"服务器::"+txt2.getText<>+"\n">; os.println<txt2.getText<>>; os.flush<>; txt2.setText<"">; } } }>;while<!txt2.getText<>.equals<"bye">> { txt1.append<"客户:"+is.readLine<>+"\n">; } os.close<>; is.close<>; client.close<>; }catch<Exceptione> { System.out.println<"Error:"+e>; } }}importjava.io.*;import.*;importjava.awt.*;importjava.awt.event.*;publicclassZCX4_Client{publicstaticvoidmain<String[]args> { Framef=newFrame<"Client">; f.setSize<600,400>; f.setLayout<newGridLayout<3,1>>; Panelp1=newPanel<>; p1.setLayout<newBorderLayout<>>; Panelp2=newPanel<>; p2.setLayout<newBorderLayout<>>; Panelp3=newPanel<>; p3.setLayout<null>; f.add<p1>; f.add<p2>; f.add<p3>;finalTextAreatxt1=newTextArea<>; p1.add<txt1,"Center">;finalTextAreatxt2=newTextArea<>; p2.add<txt2,"Center">;finalButtonbtn=newButton<"发送">; btn.setSize<80,30>; btn.setLocation<260,60>; p3.add<btn>; f.setVisible<true>;try { Socketclient=newSocket<"",4444>; BufferedReaderis=newBufferedReader<newInputStreamReader<client.getInputStream<>>>;finalPrintWriteros=newPrintWriter<client.getOutputStream<>>; txt2.addKeyListener<newKeyAdapter<> {publicvoidkeyPressed<KeyEvente> {if<e.getKeyCode<>==KeyEvent.VK_ENTER> { txt1.append<"我自己:"+txt2.getText<>+"\n">; os.println<txt2.getText<>>; os.flush<>; txt2.setText<"">; } } }>; btn.addActionListener<newActionListener<> {publicvoidactionPerformed<ActionEvente> {if<e.getSource<>==btn> { txt1.append<"我自己:"+txt2.getText<>+"\n">; os.println<txt2.getText<>>; os.flush<>; txt2.setText<"">; } } }>;while<!txt2.getText<>.equals<"bye">> { txt1.append<"服务器:"+is.readLine<>+"\n">; } os.close<>; is.close<>; client.close<>; }catch<Exceptione> { System.out.println<"Error:"+e>; } }}运行结果:说明:先运行Server程序再运行client程序,然后在下边的文本域中输入要输入的信息,按下enter或发送发送消息。实验2:源代码:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;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<"退出">;bt1.addActionListener<this>;bt2.addActionListener<this>;bt3.addActionListener<this>;bt4.addActionListener<this>; Containercon=getContentPane<>; con.setLayout<newFlowLayout<>>; con.add<bt1>; con.add<bt2>; con.add<bt3>; con.add<bt4>; Containercontainer=getContentPane<>; container.add<newJScrollPane<table>,BorderLayout.CENTER>; setVisible<true>; validate<>; addWindowListener<newWindowAdapter<>{publicvoidclosing<WindowEvente>{ System.exit<0>; } }>;}OverridepublicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstubif<e.getSource<>==bt1>{while<i>=0>{//清空上次查询结果a[i][0]="";a[i][1]="";a[i][2]="";a[i][3]="";a[i][4]="";i--; }i=0;try{ Class.forName<"sun.jdbc.odbc.JdbcOdbcDriver">; }catch<ClassNotFoundExceptione1>{//TODOAuto-generatedcatchblock e1.printStackTrace<>; }try{conn=DriverManager.getConnection<"jdbc:odbc:sqlserver">;stm=conn.createStatement<>;rs=stm.executeQuery<"Select*fromdbo.student">;while<rs.next<>>{ Stringid=rs.getString<"学号">; Stringname=rs.getString<"">; Stringsex=rs.getString<"性别">; Stringage=rs.getString<"年龄">; Stringiclass=rs.getString<"班级">;a[i][0]=id;a[i][1]=name;a[i][2]=sex;a[i][3]=age;a[i][4]=iclass;i++; }conn.close<>; repaint<>; }catch<SQLExceptione2>{} }elseif<e.getSource<>==bt2>{newtianjia<>;//新生成一个添加的窗口 }elseif<e.getSource<>==bt3>{while<i>=0>{//清空上次查询结果a[i][0]="";a[i][1]="";a[i][2]="";a[i][3]="";a[i][4]="";i--; }i=0;try{ Class.forName<"sun.jdbc.odbc.JdbcOdbcDriver">; }catch<ClassNotFoundExceptione1>{//TODOAuto-generatedcatchblock e1.printStackTrace<>; }try{conn=DriverManager.getConnection<"jdbc:odbc:sqlserver">;stm=conn.createStatement<>;rs=stm.executeQuery<"Select*fromdbo.studentWHERE年龄>18">;while<rs.next<>>{ Stringid=rs.getString<"学号">; Stringname=rs.getString<"">; Stringsex=rs.getString<"性别">;intage=rs.getInt<"年龄">; Stringiclass=rs.getString<"班级">;a[i][0]=id;a[i][1]=name;a[i][2]=sex;a[i][3]=String.valueOf<age>;a[i][4]=iclass;i++; }conn.close<>; repaint<>; }catch<SQLExceptione2>{} }elseif<e.getSource<>==bt4>{ dispose<>; }}}classtianjiaextendsJFrameimplementsActionListener{TextFieldtid,tname,tsex,tage,tclass;Labellid,lname,lsex,lage,lclass;Buttonbtn;tianjia<>{ setLayout<null>;btn=newButton<"添加">;tid=newTextField<>;tname=newTextField<>;tsex=newTextField<>;tage=newTextField<>;tclass=newTextField<>;lid=newLabel<"学号">;lname=newLabel<"">;lsex=newLabel<"性别">;lage=newLabel<"年龄">;lclass=newLabel<"班级">; add<lid>; add<tid>; add<lname>; add<tname>; add<lsex>; add<tsex>; add<lage>; add<tage>; add<lclass>; add<tclass>; add<btn>;lid.setBounds<10,10,70,25>;tid.setBounds<90,10,220,25>;lname.setBounds<10,40,70,25>;tname.setBounds<90,40,220,25>;lsex.setBounds<10,70,70,25>;tsex.setBounds<90,70,220,25>;lage.setBounds<10,100,70,25>;tage.setBounds<90,100,220,25>;lclass.setBounds<10,130,70,25>;tclass.setBounds<90,130,220,25>;btn.setBounds<130,160,70,25>;btn.addActionListener<this>; setSize<340,250>; setBackground<Color.white>; setVisible<true>; validate<>; addWindowListener<newWindowAdapter<>{publicvoidclosing<WindowEvente>{ System.exit<0>; } }>;}OverridepublicvoidactionPerformed<ActionEvente>{//TODOAuto-generatedmethodstub Stringsid=tid.getText<>; Stringsname=tname.getText<>; Stringssex=tsex.getText<>; Stringsage=tage.getText<>; Stringsclass=tclass.g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 动态心电图目前最需要解决的问题教学课件
- 【大学课件】国际新兴服务贸易产业
- 【物理课件】运动快慢的描述 速度课件
- DB32T-长江河道疏浚采砂项目施工质量验收规范编制说明
- 信息与通信射频电路与天线课件
- 《电梯安全经验分享》课件
- 现在完成时复习课件
- 单位人力资源管理制度集粹选集十篇
- 固收定期报告:资金面均衡偏松年末票据利率上行
- 单位管理制度品读选集【人力资源管理】
- 零碳智慧园区解决方案
- 2025年林权抵押合同范本
- 2024年北师大版四年级数学上学期学业水平测试 期末卷(含答案)
- 智能检测与监测技术-智能建造技术专02课件讲解
- 2025蛇年一年级寒假作业创意与寓意齐【高清可打印】
- 2024年高考物理一轮复习讲义(新人教版):第七章动量守恒定律
- 多系统萎缩鉴别及治疗
- 设备的使用和维护管理制度模版(3篇)
- 浙江省宁波市慈溪市2023-2024学年高三上学期语文期末测试试卷
- 草学类专业生涯发展展示
- 法理学课件马工程
评论
0/150
提交评论