收藏 分享(赏)

JAVA程序设计.doc

上传人:HR专家 文档编号:11567219 上传时间:2020-06-28 格式:DOC 页数:27 大小:544.50KB
下载 相关 举报
JAVA程序设计.doc_第1页
第1页 / 共27页
JAVA程序设计.doc_第2页
第2页 / 共27页
JAVA程序设计.doc_第3页
第3页 / 共27页
JAVA程序设计.doc_第4页
第4页 / 共27页
JAVA程序设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、二一 二一一学年第一学期信息科学与工程学院Java实验报告课程名称: java实验报告 班 级: 学 号: 姓 名: 实验一 熟悉Java程序的编辑、编译和运行环境一、 实验目的1) 掌握设置 Java 程序运行环境的方法,并熟悉Java程序的集成开发工具。2) 掌握编写、编译、运行简单的Java Application和Java Applet程序的方法步骤,初步了解java程序的特点和基本结构。 3) 掌握 Java 基本数据类型、运算符与表达式。 4) 理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。二、实验过程1)编写一个Java Application

2、,利用JDK软件包中的工具编译并运行这个程序。步骤(1):编写、编译Java 源程序。打开Jcreator编辑器,新建一个java文件,键入如下程序代码: public class Hello public static void main(String args) System.out.println(Hello,World!); 将文件命名为Hello.java,注意保存文件Hello.java到路径“e:java”下。运行结果:2)编写一个Java Applet,使之能够在浏览器中显示“welcome to Java Applet World”的字符串信息。步骤(1):编写 HelloW

3、orldApplet.java 程序文件,源代码如下。 import java.applet.* ; import java.awt.* ; public class HelloWorldApplet extends Applet public void paint(Graphics g) g.drawString(“welcome to Java Applet World,40,20); 步骤(2):保存文件为e:javaHelloWorldApplet.java。编译该文件,生成HelloWorldApplet.class字节码文件。 步骤(3):编写显示HelloWorldApplet.

4、calss 的页面文件 HelloWorld.html,代码如下。 步骤(4):在提示符窗口调用小程序查看器浏览 HelloWorld.html 页面,观察 Applet 应用程序。运行结果:思考题:1)编程实现:随机产生20个整数存放到数组中,然后对其按照升序进行排序,最后对排序前后的数组按照每5个数的方式输出。 源程序:import java.util.*;class RandomPx public static void main(String args) int num=new int20; int i,j,temp; Random r=new Random(); for(i=0;i2

5、0;i+) numi=r.nextInt(); for(i=0;i19;i+) for(j=0;jnumj+1) temp=numj; numj=numj+1; numj+1=temp; for(i=0;i=School.getscoreLine()| (s.getscore()96 & s.getcomScore()=300) ) return true; else return false; public static void main(String args) Student s=new Student3; String info=new String4; int i,j; Strin

6、g messInfo; BufferedReader in=new BufferedReader(new InputStreamReader(System.in); StringTokenizer st; School.setscoreLine(550); for( i=0;is.length;i+ ) try messInfo=in.readLine(); st=new StringTokenizer(messInfo); for(j=0;jinfo.length;j+) infoj=st.nextToken(); catch(IOException ex) si=new Student(i

7、nfo0,info1,Float.parseFloat(info2),Float.parseFloat(info3); for(i=0;is.length;i+) if(isEnroll(si) System.out.println(si.name+ +si.id + + 被录取!); else System.out.println(si.name+ +si.id + + 没有录取!); 运行结果:思考题:1、1) 定义复数类Complex,其满足如下要求(18分):l 复数类Complex 的属性有:RealPart : double型,代表复数的实数部分ImaginPart : doubl

8、e型,代表复数的虚数部分l 复数类Complex 的方法有:Complex( double rp , double ip ) : 构造函数,形参 rp 为实部的初值,ip为虚部的初值。Complex complexAdd(Complex a) :将当前复数对象与形参复数对象相加,所得的结果仍是一个复数,并将结果返回给此方法的调用者。 Complex complexMinus(Complex a) : 将当前复数对象与形参复数对象相减,所得的结果仍是一个复数,并将结果返回给此方法的调用者。public String toString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串

9、形式,其中a 和 b分别为实部和虚部的数据。源程序:import java.io.*;public class Complex double RealPart; double ImageinPart; Complex(double rp,double ip) RealPart=rp; ImageinPart=ip; Complex complexAdd(Complex a) Complex temp; temp=new Complex(RealPart+a.RealPart,ImageinPart+a.ImageinPart); return temp; Complex complexMinu

10、s(Complex a) Complex temp; temp=new Complex(RealPart-a.RealPart,ImageinPart-a.ImageinPart); return temp; public String toString() if (ImageinPart0) return (RealPart+-+Math.abs(ImageinPart)+i); else return (RealPart+ImageinPart+i); public static void main(String args)char operator; try Complex c1=new

11、 Complex(1,2); Complex c2=new Complex(3,4); Complex complexResult = null; operator=(char)System.in.read(); switch(operator) case +:complexResult=plexAdd(c2);break; case -:complexResult=plexMinus(c2);break; System.out.println(complexResult); catch(IOException e) System.out.println(e); 运 行 结 果:实验三 面向对

12、象程序设计的继承、多态等特性的练习一、实验目的1) 掌握类的继承机制。2) 熟悉类中成员变量和方法的访问控制。3) 熟悉方法或构造方法多态性。4) 熟悉接口的定义方法。二、实验内容1)编写程序实现如下功能:已知Person类包含三个公共域变量(姓名、性别、年龄)和一个构造方法,Student类是Person类的派生类,包含两个新的公共域变量(学号、班号)、两个公共方法(构造方法、修改年龄、显示基本信息)和一个构造方法。定义一组学生对象,并初始化他们的基本信息,然后依次输出。源程序:class Person public String name;public String sex;int age

13、;Person(String name,String sex,int age)this.name=name; this.sex=sex; this.age=age;class Student extends Personpublic String sno;public int classno;public void updateAge(int age)this.age=age; Student(String name,String sex,int age,String sno,int classno)super(name,sex,age); this.sno=sno; this.classno

14、=classno; public String toString() System.out.println(name=+name+ sex=+sex + age=+age+ sno=+sno+ classno+classno+ ); return name=+name+ sex=+sex + age=+age+ sno=+sno+ classno+classno+ ; ;public class TestStudentpublic static void main(String args)Student s1=new Student(susan,女,20,20031015123,2); s1.

15、updateAge(21); s1.toString();2) 输入课本例5-4的源程序,观察其运行结果,然后将Shape类分别定义为一个抽象类和接口,然后将源程序进行修改,让其实现相同功能。源程序:public class TestVirtualInvoke static void doStuff(Shape s) s.draw(); public static void main(String args) Circle c=new Circle(); Triangle t=new Triangle(); Line l=new Line(); doStuff(c); doStuff(t);

16、doStuff(l); class Shapevoid draw()System.out.println(Shape Drawing);class Circle extends Shapevoid draw()System.out.println(Shape Circle);class Triangle extends Shapevoid draw()System.out.println(Shape Triangle);class Line extends Shapevoid draw()System.out.println(Shape Line); */*方法二:使用抽象类abstracta

17、bstract class Shapeabstract void draw(); class Circle extends Shapevoid draw()System.out.println(Shape Circle); /定义Shape抽象类的派生类Circleclass Triangle extends Shapevoid draw()System.out.println(Shape Triangle); /定义Shape抽象类的派生类Triangleclass Line extends Shapevoid draw()System.out.println(Shape Line); */

18、 /定义Shape抽象类的派生类Line/方法三:使用interface接口方法interface Shapepublic void draw(); /定义一个Shape接口class Circle implements Shape publicvoid draw()System.out.println(Shape Circle); /基于Shape接口利用implements实现类Circleclass Triangle implements Shape public void draw()System.out.println(Shape Triangle); /基于Shape接口利用imp

19、lements实现类Triangleclass Line implements Shape publicvoid draw()System.out.println(Shape Line); /基于Shape接口利用implements实现类Line思考题:(1)某小型公司,主要有三类人员:经理、兼职技术人员和兼职推销员。这三类人员共同拥有的相关属性:姓名、编号; 相关方法:获取当月薪水的getPay()方法、显示个人信息的toString()方法。人员编号基数为1000,每创建一个人员实例对象,其编号属性的值顺序加1。月薪计算方法:经理拿固定月薪8000元;兼职技术人员按每小时100元领取月薪

20、;兼职推销人员的月薪按当月的销售额的4%提成。源程序:import java.util.*;abstract class Employee String name; long no; static long id=1000; abstract double getPay(); Employee(String name) this.name=name;id=id+1; ;class Manager extends Employee double pay=8000;double getPay()return 8000; Manager(String name)super(name); no=id;

21、 public String toString()return name:+name+ no:+no+ pay:8000;class Sale extends Employee long saleNum; double getPay()return saleNum*0.4;Sale(String name,long saleNum)super(name); no=id; this.saleNum=saleNum; public String toString()return name:+name+ no:+no+ pay:+getPay();class Tech extends Employe

22、e long salaryHours; double getPay()return salaryHours*100; Tech(String name,long salaryHours)super(name); no=id; this.salaryHours=salaryHours; public String toString()return name:+name+ no:+no+ pay:+getPay();class EmployApp public static void main(String args)Vector v=new Vector();Employee em;double

23、 numPay=0;v.addElement(new Sale(liping,10000);v.addElement(new Sale(susan,12000);v.addElement(new Tech(linda,40);v.addElement(new Tech(write,20);v.addElement(new Manager(gucci);v.addElement(new Manager(jessica);Enumeration e=v.elements();while(e.hasMoreElements() em=(Employee)e.nextElement();numPay=

24、numPay+em.getPay(); System.out.println(em);System.out.println(总工资:+numPay);实验四 异常类的定义及处理一、实验目的1) 了解异常处理方法。2) 熟悉并掌握常见异常的捕获方法。3) 熟悉JDK中已经定义的若干异常类的层次结构。4) 掌握自定义异常类的创建方法。二、实验内容1) 编写程序实现如下功能:生成并捕获到NegativeArraySizeException和IndexOutOfBoundsException类型的异常,并显示捕获到的异常信息。然后在此基础上生成并捕获到NullPointerException类型的异常

25、,并显示捕获到的异常信息。源程序:import java.lang.*;import java.io.*;class TestException public static void main(String args) tryoutofBound();arraySize();nullPointer();catch(NegativeArraySizeException e)System.out.println(e.toString();static void outofBound() try int i;int a; a=new int10; for(i=0;i11;i+) ai=i; Syst

26、em.out.println(a+i+=+ ai); catch(IndexOutOfBoundsException e)System.out.println(e.toString(); static void nullPointer() try String s=null; System.out.println(s.length(); catch(NullPointerException e)System.out.println(e.toString(); static void arraySize() throws NegativeArraySizeException try int a;

27、 a=new int-3;catch(NegativeArraySizeException e)throw e;2) 编写程序实现如下功能:计算两个数之和,参与求和运算的每个数的值都必须在10-20之间,当任意一个数超出范围时,抛出自己的异常。源程序:class MyException extends Exceptionprivate String Msg;public MyException(String message)super(message);Msg=message;public void printMsg()System.out.println(Msg);public class

28、EX6_3void GenerateMyException() throws MyExceptionthrow new MyException(此处发生异常信息);public static void main(String args)EX6_3 obj=new EX6_3();tryobj.GenerateMyException();catch (MyException e)e.printMsg();思考题:2)编写一个程序,用于根据用户输入的命令行参数数量来计算长方形、正方形、三角形的面积。如果输入的参数个数为1、2、3则它们应分别对应正方形、长方形、三角形,如果参数值为0,则异常处理方法

29、显示错误消息。源程序:class NullParameterException extends ExceptionNullParameterException(String Message)super(Message); class TestArea public static void main(String args) shape sh=null;int num;num=args.length;tryswitch(num)case 1:sh=new Zangle(Double.parseDouble(args0); break;case 2:sh=new Longangle(Double.

30、parseDouble(args0),Double.parseDouble(args1);break;case 3:sh=new Triangle(Double.parseDouble(args0),Double.parseDouble(args1),Double.parseDouble(args2);break;case 0:throw new NullParameterException(参数个数为零!);System.out.println(sh.area();catch(Exception e)System.out.println(e.toString();abstract class

31、 shapeabstract double area();class Triangle extends shapedouble a,b,c;Triangle(double a,double b,double c) this.a=a; this.b=b; this.c=c;double area()double s;s=(a+b+c)/2;return(Math.sqrt(s*(s-a)*(s-b)*(s-c);class Longangle extends shapedouble l,w;Longangle(double l,double w) this.l=l; this.w=w;double area()return (l*w);cla

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

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报