《Java实验报告--软件学院-太原理工(共51页).doc》由会员分享,可在线阅读,更多相关《Java实验报告--软件学院-太原理工(共51页).doc(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 本科实验报告课程名称: Java程序设计 实验项目: 八个实验 实验地点: 专业班级: 学号: 学生姓名: 指导教师: 2013年 月 日目 录实验1 Java语言基础1.实验目的(1) 通过实验,掌握Java语言程序设计的基本方法。(2) 学会Java语言中标示符的命名、运算符和表达式的应用。(3) 熟练地掌握Java程序流程控制语句的应用。2.实验内容(1) 编写应用程序,计算100(含100)以内所有偶数的和。实验源代码:package sum; public class Sum public static void main(String args)int
2、sum=0;int i;for(i=0;i=100;i+)if(i%2=0) sum+=i;System.out.println(sum);(2) “水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花数。实验源代码:package sum.Water;import java.util.Scanner; public class WaterFlower public static void main(String args)int a,b,c;int number;/System.out.pr
3、intln(请输入一个水仙花数);Scanner scanner=new Scanner(System.in);number=scanner.nextInt();scanner.close();a=number%10;b=number%100/10;c=number/100;if(a*a*a+b*b*b+c*c*c)=number) System.out.println(该数是水仙花数);else System.out.println(该数不是水仙花数);(3) 编写一个程序,求1-100间的素数。实验源代码:package sushu;public class sunumber public
4、 static void main(String args)int i;int j;for(i=2;i=100;i+)for(j=2;j=i) System.out.print(i+ );(4) 有一函数: x (x1)Y= 3x-2 (1x10) 4x (x10) 写一程序,给定x值,输出y值。实验源代码:package Fuction;import java.util.Scanner;public class fuction public static void main(String args)int x;int y;Scanner scanner=new Scanner(System.
5、in);System.out.println(请输入X的值);x=scanner.nextInt();if(x=1&x=10) y=3*x-2;else y=4*x;System.out.println(y的值为+y);(5) 使用for循环语句,编写程序输出以下图案。实验源代码:package Star;public class Exp20 public static void main(String args) final int size = 4; for (int i = 1; i = size; i+) for (int j = i; j size; j+) System.out.p
6、rint( ); for (int k = 1; k = 1; i-) for (int j = 1; j 0; k-) System.out.print(); System.out.println(); (6) 编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是: 若年号可以被4整除,而不能被100整除,则是闰年; 若年号可以被400整除,也是闰年。package runyear;实验源代码:public class runyear public static void main(String args) int x;int i=0;fo
7、r(x=1900;x=2100;x+)if(x%400=0|(x%4=0&x%100!=0)System.out.print(x+ );i+;if(i%5=0) System.out.println();3.实验预习(1) 复习本章所学内容。(2) 写出实验内容中第(2)、(3)题两个程序的源代码,作为预习报告。4.实验结果实验截图:1、 2、 3、 4、 5、 6、 5、实验心得体会 通过实验一几个JAVA小程序的训练,我不仅巩固了先前所学的有关编程的知识,而且还提高自己解决问题的能力,编程能力有了很大的提高。会做简单的java程序设计。Java程序的设计过程应该是认真细致的。在完成要求之前
8、,先做做例题。这同时也是自己熟悉java语言规则及其编译器的过程。实验2 数组和字符串编程1.实验目的(1) 通过实验,掌握Java语言中数组、字符串程序设计的基本方法。(2) 较熟练地掌握Java程序数组的应用、字符串处理操作的方法应用。2.实验内容(1) 编写一个程序,在控制台输入10个数,按大小顺序输出。实验源代码:package order;import java.util.Scanner;public class order public static void main(String args) intnumber=new int10;int i,j,temp;for(i=0;i1
9、0;i+)Scanner scanner=new Scanner(System.in);numberi=scanner.nextInt();for(i=1;i10;i+)for(j=1;jnumberj+1)temp=numberj;numberj=numberj+1;numberj+1=temp;for(i=0;i10;i+)System.out.print(numberi+ );(2) 求一个3*3矩阵对角线元素之和。实验源代码:package Rectangle;import java.util.Scanner;public class Rectangle public static v
10、oid main(String args)int number=new int33;int i,j;int sum=0;for(i=0;i3;i+)for(j=0;j3;j+)Scanner scanner=new Scanner(System.in);numberij=scanner.nextInt();for(i=0;i3;i+)for(j=0;j3;j+)if(i=j) sum+=numberij;continue;for(i=0;i3;i+)for(j=0;j200) throw new Exception(商品数量超出剩余数量); catch(Exception e) e.print
11、StackTrace(); class marketpublic int goodsnumber;public String location; public market(int x,String y)goodsnumber=x;location=y;public int check()return goodsnumber;public String query()return location;class Goodspublic int Price;public String Name;public String producer;public int Goodsnumber;public
12、 Goods(int x,String y,String z,int w)Price=x;Name=y;producer=z;Goodsnumber=w;public void Sale()if(Goodsnumber10) System.out.print(商品数量不足);public void Add(int a)Goodsnumber+=a;public void ShowMe()System.out.println(该商品的名称为:+Name);System.out.println(该商品的价格为:+Price);System.out.println(该商品的生产地为:+produce
13、r);System.out.println(该商品的数量为+Goodsnumber);3.实验预习要求复习本章所学内容,思考以下问题:(1) 什么是对象?什么是类?(2) 面向对象编程的特性有哪三个?它们各自有哪些特性?(3) Java语言在面向对象编程方面有哪些独特的特点?(4) 抽象类与接口有何异同?4.实验结果1、4、5、实验心得体会通过实验,掌握了Java面向对象程序设计中类、继承、包和接口的概念与应用,能熟练应用方法、类、成员变量等元素。经过这次实验我发现自己在知识方面还有很多的不足,在平时的练习中也不懂得扩展与举一反三,导致这次的实验做得马马虎虎,除此之外也体会到了面向对象程序设计
14、相对于过程化程序设计的优越性,总之,语言是一门技巧,要想能熟练掌握,必须多加练习。实验4 Java异常处理1.实验目的掌握异常的概念,以及如何定义、抛出和捕获处理异常。2.实验内容(1) 做实验之前要求思考以下问题,作为预习内容; 错误和异常有何区别?查看Java异常类的关系图。 异常是如何抛出、捕获和处理的? Java捕获和处理异常的结构式怎样的? Try语句如何嵌套?Trow语句有何作用?Finally程序快的作用是什么?(2) 运行下面的程序,理解异常的抛出、捕获与处理。Import java.io.*;public class void main(String args) public
15、 staic void main(String args) for(int i=0;i200) throw new Exception(商品数量超出剩余数量); catch(Exception e) e.printStackTrace(); class marketpublic int goodsnumber;public String location; public market(int x,String y)goodsnumber=x;location=y;public int check()return goodsnumber;public String query()return l
16、ocation;class Goodspublic int Price;public String Name;public String producer;public int Goodsnumber;public Goods(int x,String y,String z,int w)Price=x;Name=y;producer=z;Goodsnumber=w;public void Sale()if(Goodsnumber10) System.out.print(商品数量不足);public void Add(int a)Goodsnumber+=a;public void ShowMe
17、()System.out.println(该商品的名称为:+Name);System.out.println(该商品的价格为:+Price);System.out.println(该商品的生产地为:+producer);System.out.println(该商品的数量为+Goodsnumber);3.实验步骤及结果在实验过程中记录实验步骤及其结构。4.实验结果1、2、5、实验心得体会通过实验,掌握了异常的概念,以及如何定义、抛出和捕获处理异常。在程序的整个运行过程中,实验二,四都比较容易调试,也没出现任何问题,同时在实验三中创建异常类时由于可仿照例6.5进行实验,所以实现起来也相对比较容易,
18、即使如此,我觉得要真正掌握这一部分内容也不是那么容易,所以以后我更应该多去尝试新的题型,希望能彻底把这一部分给掌握了,以至于使所编写的程序更加健壮,完美。实验5 多线程编程1.实验目的(1) 现成的概念、线程的生命周期。(2) 多线程的编程:扩展Thread类与使用Runnable接口。(3) 使用多线程机制实现动画2.实验内容(1) 运行下面的程序,理解用创建Thread子类的方法实现多线程。/S09_01_Thread.JavaImport java.util.*;class S09_01_Thread extends Thread int pauseTime; String name;
19、public S09_01_Thread(int x,String n) pauseTime=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,Fas
20、t); tp1.start(); S09_01_Thread tp2=new 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
21、(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) Thread t1=new Thread(new S09_02_Thread(1000,Fast); t1.start(); Thread t2=new Thread(new S09_02_Thread(3000,Slow); t2.start()
22、; (3) 创建简单的程序ThreeThread.java,该程序将创建三个线程,每个线程应当显示它所运行的时间(可以考虑使用Date类或Calendar类)。package supermarket;import java.util.*;class threeThread implements Runnable int pauseTime; String name; public threeThread(int x,String n) pauseTime=x; name=n;public void run() while(true) try System.out.println(name+:+
23、new Date(System.currentTimeMillis(); Thread.sleep(pauseTime); catch(Exception e)System.out.println(e); public class Ex_supermarketstatic public void main(String srgs) Thread t1=new Thread(new threeThread(100,one); t1.start(); Thread t2=new Thread(new threeThread(300,two); t2.start(); Thread t3=new T
24、hread(new threeThread(100,three); t3.start(); 3.实验预习(1) 将本章所学内容要点进行整理,熟练掌握线程的编程要领。(2) 写出实验内容中第(3)题程序的源代码,作为预习报告。4.实验结果1、2、3、5、实验心得体会通过实验,掌握了 现成的概念、线程的生命周期、多线程的编程、扩展Thread类与使用Runnable接口、使用多线程机制实现动画。实验一二程序的调试很顺利,没有出现任何问题,但一开始函数Date(System.currentTimeMillis()的确看不懂,不过查看了帮助文档后都还勉强能懂,至于实验三由于有实验一二做例子,所以考虑起
25、来也不是很麻烦,也是比较容易就实现了。虽然实验做了,但对于多线程的具体编程应用,由于课时比较短,匆匆忙忙就结课了,所以总体来说还没掌握好,以后有时间的话,我想再返回来重新学一下,希望能掌握。实验6 图形用户界面编程1.实验目的 掌握文本组件、按钮和单、复选按钮组件的使用;掌握列表的使用,鼠标、键盘事件的处理;掌握布局控制的方法。2.实验内容(1) 编写一个Applet程序响应鼠标事件,当鼠标事件发生时,在状态条显示相应的时间信息。提示:使用showStatus(字符串)方法。package supermarket;import java.awt.*;import java.awt.event.*;public class Ex_supermarket implements MouseMotionListener,MouseListener,WindowListener private Frame frm; private TextField tf; public static void main(String args) Ex_supermarket two = new Ex_supermarket(); two.go(); public void go() frm = new Frame(这
限制150内