JAVA实验报告_第1页
JAVA实验报告_第2页
JAVA实验报告_第3页
JAVA实验报告_第4页
JAVA实验报告_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录实验1 java语言基础实验2 数组和字符串编程实验3 java面向对象程序设计实验4 java异常处理实验5 多线程编程实验6 图形用户界面编程实验7 输入与输出实验8 网络编程实验9 数据库编程实验1 java语言基础一、实验目的和要求1.实验目的通过实验,掌握java语言程序设计的基本方法。学会java语言中标示符的命名、运算符和表达式的应用。熟练地掌握java程序流程控制语句的应用。2.实验内容1.编写应用程序,计算100(含100)以内所有偶数的和。2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙

2、花数。编写程序,求所有的水仙花数。 3.编写一个程序,求1-100间的素数。4.有一函数: x (x1)y= 3x-2 (1x10) 4x (x10) 写一程序,给定x值,输出y值。5.使用for循环语句,编写程序输出以下图案。6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是: 若年号可以被4整除,而不能被100整除,则是闰年; 若年号可以被400整除,也是闰年。二、源代码1.package addsum;public class addsum public static void main(string s) int sum=0;

3、for(int i=0;i=100;i=i+2) sum=sum+i; system.out.println(sum);2.package addsum;public class shuixianhua public static void main(string args) int i, j, k; for (i = 1; i = 9; i+) for (j = 0; j = 9; j+) for (k = 0; k = 9; k+) if (i * 100 + j * 10 + k) = (i * i * i + j * j * j + k * k * k) system.out.prin

4、tln(i * 100 + j * 10 + k + = + i + * + i + *+i+ + j + * + j+ * + j + + + k+ + + k+ + + k); 3.package addsum;public class prime public static void main(string args) system.out.println(100内的素数为:); loop: for (int i = 2; i 100; i+) for (int j = 2; j i; j+) if (i % j = 0) continue loop; system.out.print(

5、 + i); 4.package addsum;import java.util.scanner;public class question4 public static void main(string args) double x,y; system.out.print(请输入x:); do scanner s=new scanner(system.in); x=s.nextdouble(); if(x=1&x10) y=3*x-2; else y=4*x; system.out.println(x=+x+,+y=+y); while(true); 5.package addsum;pub

6、lic class question5 public static void main(string args) for(int r=1; r0; space-) system.out.print(+ +); for(int star=1; star=1; r-) for(int space=4-r; space0; space-) system.out.print(+ +); for(int star=1; star=2*r-1; star+) system.out.print(); system.out.print(n); 6.package addsum;public class que

7、stion6 public static void main(string args)for(int i=1900;i=2100;i+) if(i%4=0)&(i%400=0)&(i%100!=0) system.out.println(i+年是闰年); if(i%4=0)&(i%100!=0) system.out.println(i+年是闰年); 三、主要仪器设备 eclipe四、运行结果1.2.3.4.5. 6. 五、讨论、心得 试验中遇到的问题及体会 在实验过程中,整体都比较完整,基本没遇到什么太大调试问题,算法设计也比较清楚,结果相对比较满意。 体会:经过实验使我对本章的知识有了更深

8、一步的理解,也学会了将c语言运用到java语言中的学习方法,对知识做了进一步的巩固,同时也发现各种语言之间总有相同的模块,这也使我对以后各程序设计语言及各专业课的学习奠定基础,创造了条件实验2 数组和字符串编程一、实验目的和要求1.通过实验,掌握java语言中数组、字符串程序设计的基本方法。2.较熟练地掌握java程序数组的应用、字符串处理操作的方法应用。二、实验内容和原理1.编写一个程序,在控制台输入10个数,按大小顺序输出。2.求一个3*3矩阵对角线元素之和。3.输入一段字符串,统计其中有多少个单词。(单词用空格隔开)三、主要仪器设备 eclipe四、源代码1.package shiyan

9、2;import java.util.arrays;import java.util.scanner;public class question1 public static void main(string args)int num=new int10;scanner input =new scanner(system.in);system.out.println(请输入数字:);for(int i=0;i10;i+)numi=input.nextint();arrays.sort(num); system.out.println(从小到大输出:);for(int index=0;index

10、num.length;index+) system.out.println(numindex); 2.package shiyan2;import java.util.*;public class question2 public static void main(string args) scanner in = new scanner(system.in); system.out.println(请输入一个3*3矩阵:); int sum=0; int a=new int33; for(int i=0;i3;i+) for(int j=0;jb)return a;else return b

11、;public integer minnum(int a, int b) if(ab)return b;else return a;public static void main(string args)int a=6,b=2,c=10;question3 s=new question3();int temp=s.maxnum(a, b);int temp1=s.maxnum(temp, c);system.out.println(the maxnum is+temp1);int temp2=s.minnum(a, b);int temp3=s.minnum(temp2, c);system.

12、out.println(the minnum is+temp3);5、 运行结果 实验4 java异常处理一、实验目的和要求掌握异常的概念,以及如何定义、抛出和捕获处理异常。二、实验内容和原理(1) 做实验之前要求思考以下问题,作为预习内容; 错误和异常有何区别?查看java异常类的关系图。 异常是如何抛出、捕获和处理的? java捕获和处理异常的结构式怎样的? try语句如何嵌套?trow语句有何作用?finally程序快的作用是什么?1.(1)错误与异常的区别:错误:指在程序编译时如果程序进入死循环,或递归无法结束,或内存溢出。错误只能在编程阶段解决,只能依靠其他程序干预,否则会一直处于非

13、正常状态。 异常:指运算时除数为0,或操作数超过范围,或打开一个文件时发现文件并不存在,或欲装入的类文件丢失,或网络连接中断等。(2) java提供了一种利用简单易行的方法检查和处理运行时产生的错误的异常处理机制,它是通过面向对象的方法来处理异常的。在java程序的执行过程中,如果出现了异常事件,就会生成一个异常对象。生成的异常对象将传递给java运行时系统,这一异常的产生和提交过程成为抛弃异常。当java运行时系统得到一个异常对象时,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。找到能够处理这类异常的方法后,运行时系统把当前异常对象交给这个方法进行处理,这一过程称为捕获异常。(3)

14、 根据程序对错误与异常的处理方式,可以将java中的异常分为error类,runtimeexception类和exception类。其中error类包括的是一些严重的程序不能处理的系统错误类,如内存溢出,虚拟机错误,栈溢出等。这类错误一般主要与硬件有关,与程序本身无关,通常由系统进行处理,程序本身无需去捕获和处理。程序运行过程中,可能出现runtimeexception类的异常数量相当大,对于运行时的异常类,如数组越界,算术异常等,应通过程序尽量避免而不是去捕获它。 (4) 为了避免程序运行时可能出现的错误,将程序代码放在try程序块中,紧跟在try语句后面包括一个catch语句,用来指定需要

15、捕获的异常类型。在程序中发生异常时,程序员可以抛出(throw)一个自定义异常类的实例,将其放到异常列中去,并激活java的异常处理机制。当抛出一个异常时,程序的执行就不再是线性的,这样就有可能导致方法的执行中断。在java语言中,使用finally语句来解决此类问题。finally语句创建一个代码块,在try/catch语句执行后执行,不管是否抛出一个异常,系统都将执行finally语句的程序代码。(2) 运行下面的程序,理解异常的抛出、捕获与处理。import java.io.*;public class void main(string args) public static void

16、main(string args) for(int i=0;ithis.balance) throw new insufficientfundsexception(); this.balance-=money; public void process(boolean save, double money) if(save) system.out.println(你的余额为:+balance); else try double left = withdrawl(money); catch(insufficientfundsexception e) public class bank public

17、 static void main(string args) account a=new account(*,400); system.out.println(账户余额为+a.getbalance()+元); a.deposit(500); system.out.println(你存入+a.getbalance()+元); system.out.println(账户余额为+a.getbalance()+元); a.withdrawl(300); 三、主要仪器设备 eclipe四、实验数据记录和处理 这些实验很难,我觉得要真正掌握这一部分内容确实不是那么容易,所以以后我更应该多去尝试新的题型,希

18、望能彻底把这一部分给掌握了,以至于使所编写的程序更加健壮,完美。实验5 多线程编程一、实验目的和要求(1) 现成的概念、线程的生命周期。(2) 多线程的编程:扩展thread类与使用runnable接口。(3) 使用多线程机制实现动画二、实验内容和原理(1) 运行下面的程序,理解用创建thread子类的方法实现多线程。/s09_01_thread.javaimport java.util.*;class s09_01_thread extends thread int pausetime; string name; public s09_01_thread(int x,string n) pa

19、usetime=x; name=n;public void run() while(true) try system.out.println(name+:+new date(system.currenttimemillis(); tread.sleep(pausetime); catch(exception e)system.out.println(e); static public void main(string srgs) s09_01_thread tp1=new s09_01_thread(1000,fast); tp1.start(); s09_01_thread tp2=new

20、s09_01_thread(3000,slow); tp2.start(); (2) 运行下面的程序,理解用实现runnable接口的方法实现多线程。/s09_02_thread.javaimport java.util.*;class s09_02_thread implements runnable int pausetime; string name; public s09_02_thread(int x,string n) pausetime=x; name=n;public void run() while(true) try system.out.println(name+:+ne

21、w date(system.currenttimemillis(); tread.sleep(pausetime); catch(exception e)system.out.println(e); static public void main(string srgs) thread t1=new thread(new s09_02_thread(1000,fast); t1.start(); thread t2=new thread(new s09_02_thread(3000,slow); t2.start(); (3) 创建简单的程序threethread.java,该程序将创建三个线

22、程,每个线程应当显示它所运行的时间(可以考虑使用date类或calendar类)。三、主要仪器设备 eclipe四、实验数据记录和处理五、讨论、心得 说实话这一部分我是稀里糊涂的做完的,在做完这些实验之后我仍然是一知半解.在这一部分我需要多下点功夫多看看资料,来弥补我的不足.本章主要介绍了常见异常及异常处理的一般格式。在实验过程中,用try-catch-finally语句来捕获和处理异常,通过实验练习了该种方法的格式和具体应用。在实验时还通过throw和throws语句练习了异常的抛出。对于throw语句,throw自己主动抛出异常;而throws则在方法声明时抛出。掌握了通过exceptio

23、n类及其子类创建自定义的异常类。实验6 图形用户界面编程一、实验目的和要求掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法。二、实验内容和原理(1) 编写一个applet程序响应鼠标事件,当鼠标事件发生时,在状态条显示相应的时间信息。提示:使用showstatus(字符串)方法。(2) 完成图6-1所示的gui布局管理,不需要实现功能。(3) 试设计一窗口,内含一个按钮。开始运行时,按钮显示“click me”字样,当按钮按下时,按钮显示为“click me again”字样,再按一次,则按钮显示“click me”字样,依次循环。(4) 仿

24、照windows 2000/xp系统提供扫雷游戏编写一个类似功能和界面的扫雷程序。(5) 编写一个简易文本编辑器,参考界面如图6-2所示。要求:包含基本的打开、保存、新建等功能。包含菜单,能够对文本的字体类型和颜色进行设置,力求界面美观。三、主要仪器设备 eclipe四、实验数据记录和处理1.package shiyan6;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.buttongroup;import javax.swing.jbutton;import j

25、avax.swing.jframe;import javax.swing.jlabel;import javax.swing.jpanel;import javax.swing.jradiobutton;public class l08_07 extends jframeprivate jradiobutton jrb1;private jradiobutton jrb2;private jlabel jlbl;private jpanel jp;private jbutton jbtn;private string jlstr;private buttongroup bg;public l0

26、8_07()jlstr = 你选择的是:;this.settitle(实现单选按钮的效果);jrb1 = new jradiobutton(是);jrb2 = new jradiobutton(不是);bg = new buttongroup();bg.add(jrb1);bg.add(jrb2);jlbl = new jlabel(jlstr);jbtn = new jbutton(ok);jbtn.addactionlistener(new actionlistener() overridepublic void actionperformed(actionevent e) / todo

27、auto-generated method stubsystem.exit(1););jrb1.addactionlistener(new actionlistener() overridepublic void actionperformed(actionevent e) / todo auto-generated method stubif(e.getsource()=jrb1)jlbl.settext(jlstr+jrb1.gettext(););jrb2.addactionlistener(new actionlistener() overridepublic void actionp

28、erformed(actionevent e) / todo auto-generated method stubif(e.getsource()=jrb2)jlbl.settext(jlstr+jrb2.gettext(););jp = new jpanel();jp.add(jrb1);jp.add(jrb2);jp.add(jlbl);jp.add(jbtn);this.add(jp);this.setbounds(300, 300, 230, 200);this.setvisible(true);this.setdefaultcloseoperation(jframe.exit_on_

29、close);public static void main(string args) / todo auto-generated method stubl08_07 rt = new l08_07();2.package shiyan6;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class sy07_2 extends jframe/private jpanel panel1=new jpanel();/private jpanel panel2=new jpanel();private jpa

30、nel panel1_1=new jpanel(new gridlayout(4,1);private jpanel panel1_2=new jpanel(new gridlayout(4,1);private jpanel panel1_3=new jpanel(new gridlayout(5,1);private jpanel panel1_4=new jpanel(new gridlayout(5,1);private jbutton button1_1=new jbutton(removeall files filter);private jbutton button1_2=new

31、 jbutton(addall files filter);private jbutton button2=new jbutton(show filechooser);private jtextfield input=new jtextfield(dialog1);private jcheckbox chb1_1_1=new jcheckbox(open,false);private jcheckbox chb1_1_2=new jcheckbox(save,false);private jcheckbox chb1_1_3=new jcheckbox(custom,false);privat

32、e jradiobutton chb1_2_1=new jradiobutton(default filtering,false);private jradiobutton chb1_2_2=new jradiobutton(add jpg and gif filters,false);private jcheckbox chb1_3_1=new jcheckbox(show hidden files,false);private jcheckbox chb1_3_2=new jcheckbox(show extension,false);private jcheckbox chb1_3_3=

33、new jcheckbox(show fileview,false);private jcheckbox chb1_3_4=new jcheckbox(show preview,false);private jcheckbox chb1_3_5=new jcheckbox(show control buttons,false);private jradiobutton chb1_4_1=new jradiobutton(just select files ,false);private jradiobutton chb1_4_2=new jradiobutton(just select dir

34、ectories,false);private jradiobutton chb1_4_3=new jradiobutton(select files or directories,false);private jradiobutton chb1_4_4=new jradiobutton(single selection,false);private jradiobutton chb1_4_5=new jradiobutton(multi selection,false);/private jcheckboxmenuitem cbm2=new jcheckboxmenuitem();priva

35、te jradiobutton chb2_1=new jradiobutton(metal,false);private jradiobutton chb2_2=new jradiobutton(motif,false);private jradiobutton chb2_3=new jradiobutton(windows,false);public sy07_2(string title)super(title);getcontentpane().setlayout(new borderlayout(0,5);getcontentpane().setbackground(color.gra

36、y);panel1_1.setbackground(color.gray);panel1_2.setbackground(color.gray);panel1_3.setbackground(color.gray);panel1_4.setbackground(color.gray);jpanel panel1=new jpanel(new gridlayout(1,4);panel1_1.add(chb1_1_1); panel1_1.add(chb1_1_2);panel1_1.add(chb1_1_3); panel1_1.add(input);panel1_2.add(button1_1); panel1_2.add(button1_2);panel1_2.add(chb1_2_1); panel1_2.add(chb1_2_2);panel1_3.add(chb1_3_1); panel1_3.add(chb1_3_2);panel1_3.add(chb1_3_3);panel1_3.add(chb1_3_4);panel1_3.add(chb1_3_5);panel1_4.add(chb1_4_1);panel1_4.add(chb1_4_2);panel1_4.add(chb1

温馨提示

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

评论

0/150

提交评论