JAVA实验报告.doc

上传人:李主任 文档编号:3312918 上传时间:2019-08-11 格式:DOC 页数:42 大小:2.87MB
返回 下载 相关 举报
JAVA实验报告.doc_第1页
第1页 / 共42页
JAVA实验报告.doc_第2页
第2页 / 共42页
JAVA实验报告.doc_第3页
第3页 / 共42页
JAVA实验报告.doc_第4页
第4页 / 共42页
JAVA实验报告.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《JAVA实验报告.doc》由会员分享,可在线阅读,更多相关《JAVA实验报告.doc(42页珍藏版)》请在三一文库上搜索。

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 Auto-generated method stubSystem.exit(1););jrb1.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1