java实验----(南京信息工程大学期末试卷题库)_第1页
java实验----(南京信息工程大学期末试卷题库)_第2页
java实验----(南京信息工程大学期末试卷题库)_第3页
java实验----(南京信息工程大学期末试卷题库)_第4页
java实验----(南京信息工程大学期末试卷题库)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、实验1:Java开发环境J2SE一、实验目的(1)学习从网络上下载并安装J2SE开发工具。(2)学习编写简单的Java Application程序.(3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。二、实验任务从网络上下载或从CD-ROM直接安装J2SE开发工具,编写简单的Java Application程序,编译并运行这个程序。三、实验内容1安装J2SE开发工具Sun公司为所有的java程序员提供了一套免费的java开发和运行环境,取名为Java 2 SDK,可以从上进行下载。安装的时候可以选择安装到任意的硬盘驱动器上。教师通过大屏幕演示J2SE的安装过程,以及在

2、Windows7下环境变量的设置方法。2安装J2SE源代码编辑工具Notepad教师通过大屏幕演示Notepad的安装过程,以及在Windows7操作系统环境下编辑Java原程序的常用命令的用法。3编写并编译、运行一个Java Application程序。创建一个名为HelloWorldApp的java Application程序,在屏幕上简单的显示一句话"老师,你好!"。public class HelloWorldApppublic static void main(String args)System.out.println("老师,你好!");4

3、编译并运行下面的Java Application程序,写出运行结果。1: public class MyClass 2: private int day;3: private int month;4: private int year;5: public MyClass() 6: day = 1;7: month = 1;8: year = 1900;9: 10: public MyClass(int d,int m,int y) 11: day = d;12: month = m;13: year = y;14: 15: public void display()16: System.out

4、.println(day + "-" + month + "-" + year);17: 18: public static void main(String args ) 19: MyClass m1 = new MyClass();20: MyClass m2 = new MyClass(25,12,2001);21: m1.display();22: m2.display();23: 24:运行结果: 1-1-1900 25-12-2001实验2:Java基本数据类型一、实验目的(1)掌握javadoc文档化工具的使用方法。(2)掌握Java语言转

5、义字符的功能。(3)理解“值传递”的过程。二、实验任务(1)利用javadoc文档化工具,将给定的Java Application源代码自动生成一系列说明文档。(2)输入、运行给定的Java Application程序,写出运行结果,以验证Java语言转义字符的功能。(3)按照要求编写Java Application程序。三、实验内容1Javadoc文档化工具的使用Java 2 SDK中提供了一个文档自动生成工具,可以简化程序员编写文档的工作。可以使用javadoc.exe命令启动Java文档化工具,自动生成Java程序文档。输入下面给出的Java Application程序,利用javado

6、c命令生成该Java应用程序的文档,并使用浏览器IE显示生成的文档页面内容。1: /* Java编程技术chapter3,CommentTest.java2: 版权所有:Tom。3: 作者:$4: 日期:2013/07/015: */6: /*7: 这是一个Java语言入门程序,定义类CommentTest。其中含有main()方法,因此可以作为一8: 个应用程序单独执行。其功能是在默认的输出设备上输出字符串"Hi,你好!"。 9: */ 10: public class CommentTest 11: /主方法,作为Java应用程序的默认入口。12: public sta

7、tic void main(String args ) 13: System.out.println("Hi,你好!"); /输出"Hi,你好!"14: 15: 执行javadoc CommentTest.java指令,生成文件:CommentTest.html、package-frame.html、package-summary.html、package-tree.html、constant-values.html、overview-tree.html、index-all.html、deprecated-list.html、allclasses-fra

8、me.html、allclasses-noframe.html、index.html、help-doc.html。2输入下面的Java Application程序,写出运行结果。1: public class CharSample2: public static void main(String args ) 3: char ch1 = 'b'4: char ch2 = 't'5: char ch3 = 'n'6: char ch4 = 'r'7: char ch5 = '"'8: char ch6 =

9、'''9: char ch7 = ''10: System.out.println("南京"+ch1+"长江大桥");11: System.out.println("南京"+ch2+"长江大桥");12: System.out.println("南京"+ch3+"长江大桥");13: System.out.println("南京"+ch4+ch3+"长江大桥");14: System.out.pr

10、intln(ch5+"南京"+"长江大桥"+ch5);15: System.out.println(ch6+"南京"+"长江大桥"+ch6);16: System.out.println(ch7+"南京"+"长江大桥"+ch7);17: 18:运行结果: 南京长江大桥 南京 长江大桥南京长江大桥南京长江大桥“南京长江大桥”南京长江大桥南京长江大桥3按下面的要求完成Java Application程序,写出程序的运行结果。(1)定义一个Java类Point,用来描述平面直角坐标

11、系中点的坐标,该类应该能描述点的横、纵坐标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前位置等。(2)定义一个测试类javaTest,创建Point类的对象并对其进行有关的操作。class Pointdouble x,y;public void setXY(double a,double b)x=a;y=b;public double getX()return x;public double getY()return y;public void disp()System.out.println("点的当前坐标为:("+x+", "

12、+y+")");public class javaTestpublic static void main(String args)Point p1=new Point();p1.disp();p1.setXY(3.2,5.6);p1.disp();运行结果: 点的当前坐标为:(0.0, 0.0) 点的当前坐标为:(3.2, 5.6)实验3:Java流程控制一、实验目的(1)掌握Java运算符的用法。(2)掌握表达式的使用和各种运算符的优先级控制。(3)掌握结构化程序设计的基本结构。二、实验任务(1)输入根据给定的Java Application程序,写出运行结果,并说明程序

13、所完成的功能。(2)按照要求编写Java Application程序。三、实验内容1输入如下所示的Java Application程序,写出运行结果,并说明程序的功能。1: import java.util.Scanner;2: public class findNum 3: public static void main(String args) 4: String s;5: double d;6: int i;7: boolean b = false;8: do 9: try 10: System.out.println("请输入一个浮点数: ");11: Scanne

14、r sc = new Scanner (System.in);12: s = sc.nextLine(); / 以字符串方式读入13: i = s.indexOf('.');/找到小数点的位置, int indexOf(int ch)它返回指定字符在此字符串中第一次出现处的索引14: d = Double.parseDouble(s); / 将字符串转换成浮点数15: System.out.println(d + " 整数部分为:" + (long)d);16: if( i = -1 ) /若没有小数点,则没有小数部分17: System.out.print

15、ln(d + " 小数部分为:0.0");18: else / 若有小数点,则截取小数点后的字符串合成浮点数19: System.out.println(d + "小数部分为:" + Double.parseDouble(s.charAt(0)='-') ? "-" : "") + "0." + s.substring(i+1,s.length();20: b = false;21: 22: catch(NumberFormatException nfe) 23: System.

16、out.println("输入浮点数格式有误。n");24: b = true;25: 26: catch(Exception ioe) 27: b = false;28: 29: 30: while(b); /浮点格式错误时重新输入31: / end of main32:/ end of clas运行结果: 请输入一个浮点数:abc 输入浮点数格式有误 请输入一个浮点数:3.14 3.14的整数部分为:3 3.14的小数部分为:0.14程序功能:通过IO类从命令行读入一个字符串,如果输入的字符串为非数字字符串,则提示异常,要求重新输入。如果输入的是一个没有小数点的数字字符

17、串(即整数类型),则将其转换为double型浮点数,最后完成将浮点数的小数位和整数位分别输出。2素数就是不能再进行等分的整数。比如:7,11。而9不是素数,因为它可以平分为3等份。一般认为最小的素数是2,接着是3,5,. (1)编写程序,输出区间200,300上的所有素数。(2)请问,第100002(十万零二)个素数是多少?请注意:2 是第一素数,3 是第二个素数,依此类推。(1)源程序public class Primepublic static void main(String args)int i,j;outer:for(i=200;i<=300;i+)for(j=2;j<i

18、-1;j+)if(i%j=0) continue outer;System.out.print(i+" ");运行结果:211 223 227 229 239 241 251 257 263 269 271 277 281 283 293(2)源程序/* 筛法 2 3 4 5 6 7 8 9 10 11 12 。 2 3 _ 5 _ 7 _ 9 _ 11 _ . 2 3 _ 5 _ 7 _ _ _ 11 _ . .*/public class SuShupublic static void main(String args)int N = 1000 * 1000 * 10;

19、int x = 100001;byte a = new byteN;for(int i=2; i<N/2; i+)if(ai=1) continue; / 和数没有资格参加筛法for(int k=2; k<=N/i; k+)if(i*k<N) ai*k = 1;int m = 0;for(int i=2; i<N; i+)if(ai=0)m+;if(m=x) System.out.print(i + " "); System.out.println("m=" + m);3、用递归实现求Fibonacci数列的第10项。实验4:Ja

20、va类与对象一、实验目的(1)掌握Java类的定义和使用。(2)掌握方法的定义与使用。(3)掌握构造方法的定义和使用。二、实验任务(1)按要求编写一个Java程序。(2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。三、实验内容1编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。2为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成

21、一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。class Studentprivate long studentID;private int classID;private String name;private String sex;private int age;public Student(long studentID,int classID,String name,String sex,int age)this.studentID=studentID;this.classID=classID;=n

22、ame;this.sex=sex;this.age=age;public long getStudentID()return studentID;public int getClassID()return classID;public String getName()return name;public String getSex()return sex;public int getAge()return age;public String toString()return "学号:"+getStudentID()+"n班号:"+getClassID()

23、+"n姓名:"+getName()+"n性别:"+getSex()+"n年龄:"+getAge();public class StudentDemopublic static void main(String args)Student s1=new Student(90221,2,"Tom","male",20);System.out.println(s1.toString();运行结果: 学号:90221 班号:2 姓名:Tom 性别:male 年龄:20实验5:数组与字符串一、实验目的(1)

24、掌握利用Math类实现基本数学运算的方法。(2)掌握数组与字符串概念与使用。二、实验任务(1)输入根据给定的Java Application程序,写出运行结果。(2)按照要求编写Java Application程序。三、实验内容1输入下面的Java Application程序,写出运行结果,并说明程序的功能。1: public class testMath 2: public static void main(String args) 3: final int NUMBER = 100;4: int count = 10;5: int randomNum = 0;6: int probabil

25、ity = new int6; 7: for(int i=0; i<6; i+) 8: probabilityi = 0;9: 10: for(int i=0; i<NUMBER; i+) 11: randomNum = (int)(Math.random()*6) + 1;12: probabilityrandomNum-1+;13: System.out.print(randomNum + "t");14: if(i%count = 9)15: System.out.println();16: 17: for(int i=0; i<6; i+) 18:

26、 System.out.println("n"+(i+1)+":t"+probabilityi);19: 20: 21:2编写一个Java Application程序,实现如下的设计目标:程序运行时自动产生1100的随机数,接收用户键盘输入数据并给出提示信息,直至猜对。游戏者猜对后,显示猜测次数,并提供“重新开始”和“退出”功能。实验6:Java继承与多态一、实验目的(1)掌握Java类的继承关系和派生方法。(2)理解多态的概念与使用。(3)掌握接口的定义和使用。二、实验任务(1)输入根据给定的Java Application程序,写出运行结果。(2)按

27、照要求编写Java Application程序。三、实验内容1阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。1: class SuperClass 2: int x;3: SuperClass() 4: x=3;5: System.out.println("in SuperClass : x=" +x);6: 7: void doSomething() 8: System.out.println("in SuperClass.doSomething()");9: 11:1: class SubClass extends Super

28、Class 2: int x;3: SubClass() 4: super();/调用父类的构造方法5: x=5;/super( ) 要放在方法中的第一句6: System.out.println("in SubClass :x="+x);7: 8: void doSomething( ) 9: super.doSomething( ); /调用父类的方法10: System.out.println("in SubClass.doSomething()");11: System.out.println("super.x="+super

29、.x+" sub.x="+x);12: 14:1: public class Inheritance 2: public static void main(String args) 3: SubClass subC=new SubClass();4: subC.doSomething();5: 6: 运行结果: in SuperClass: x=3 in SubClass: x=5 in SuperClass. doSomething() in SubClass. doSomething() super. x=3 sub. x=52假定根据学生的3门学位课程的分数决定其是否

30、可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计:(1)设计一个基类Student描述学生的共同特征。(2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。(3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。(4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。class Studentprivate String name;private int classA,classB,clas

31、sC;public Student(String name,int classA,int classB,int classC)=name;this.classA=classA;this.classB=classB;this.classC=classC;public String getName()return name;public int getAverage()return (classA+classB+classC)/3;class UnderGraduate extends Studentpublic UnderGraduate(String name,int cla

32、ssA,int classB,int classC)super(name,classA,classB,classC);public void isPass()if(getAverage()>=60)System.out.println("本科生"+getName()+"的三科平均分为:"+getAverage()+",可以拿到学士学位。");elseSystem.out.println("本科生"+getName()+"的三科平均分为:"+getAverage()+",不能拿到学

33、士学位。");class Graduate extends Studentpublic Graduate(String name,int classA,int classB,int classC)super(name,classA,classB,classC);public void isPass()if(getAverage()>=80)System.out.println("研究生"+getName()+"的三科平均分为:"+getAverage()+",可以拿到硕士学位。");elseSystem.out.pri

34、ntln("研究生"+getName()+"的三科平均分为:"+getAverage()+",不能拿到硕士学位。");public class StudentDemopublic static void main(String args)UnderGraduate s1=new UnderGraduate("Tom",55,75,81);Graduate s2=new Graduate("Mary",72,81,68);s1.isPass();s2.isPass();运行结果: 本科生Tom的三

35、科平均分为:70,可以拿到学士学位。 研究生Mary的三科平均分为:73,不能拿到硕士学位。3、假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:(1)经理(Manager)每月获得一份固定的工资(2)销售人员(Salesman)在基本工资的基础上每月还有销售提成。(3)一般工人(Worker)则按他每月工作的天数计算工资。根据上述要求试用类的继承和相关机制描述这些功能,并编写一个Java Application程序,演示这些类的用法。(提示:应设计一个雇员类(Employee)描述所有雇员的共同特性,这个类应该提供一个计算

36、工资的抽象方法ComputeSalary( ),使得可以通过这个类计算所有雇员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。)abstract class Employeeprivate String name;public Employee(String name)=name;public String getName()return name;public abstract double computeSalary();class Manager extends Employeeprivate double mo

37、nthSalary;public Manager(String name,double monthSalary)super(name);this.monthSalary=monthSalary;public double computeSalary()return monthSalary;class Salesman extends Employeeprivate double baseSalary;private double commision;private int qualtities;public Salesman(String name,double baseSalary,doub

38、le commision,int qualtities)super(name);this.baseSalary=baseSalary;mision=commision;this.qualtities=qualtities;public double computeSalary()return baseSalary+commision*qualtities;class Worker extends Employeeprivate double dailySalary;private int days;public Worker(String name,double dailySalary,int

39、 days)super(name);this.dailySalary=dailySalary;this.days=days;public double computeSalary()return dailySalary*days;public class EmployeeDemopublic static void main(String args)Manager e1=new Manager("张三",10000);Salesman e2=new Salesman("李四",2000,50.4,63);Worker e3=new Worker(&quo

40、t;王五",79.5,28);System.out.println("经理"+e1.getName()+"的月工资为:"+puteSalary();System.out.println("销售人员"+e2.getName()+"的月工资为:"+puteSalary();System.out.println("工人"+e3.getName()+"的月工资为:"+puteSalary();运行结果:经理张三的月工资为:10000.0销售人员李四的月工资为:5175.2工

41、人王五的月工资为:2226.0实验7  接口的实现一、实验目的(1)    学习如何定义接口(2)    掌握接口的实现方式(3)    使用实现了接口的类(4)    理解接口与抽象类的区别(5)    学会使用接口回调来简化程序二、实验任务 按照要求编写Java Application程序。三、实验内容设计和实现一个Soundable接口,该接口具有发声功能,同时还能调节声音大小。oundable接口的这些功能将会由3种声

42、音设备来实现,它们分别是:Radio、Walkman和Mobilephone。最后还需设计一个应用程序类来使用这些实现了Soundable接口的声音设备。程序运行时,先询问用户想听哪知设备,然后程序按照该设备的工作方式来输出发音。 代码如下import java.util.*;/Soundable接口的声明interface Soundable    /使用抽象方法    public void playSound();    public void decreaseVolume(); 

43、;   public void stopSound();/设计新的类Radio,再用Radio来创建对象,进行接口的实现,使用implements关键字class Radio implements Soundable         public void playSound()/定义playSound()的处理方式       System.out.println("收音机播放广播:中央人民广播电台"); 

44、;       public void decreaseVolume()       System.out.println("增大收音机音量");        public void stopSound()       System.out.println("关闭收音机");    /设计新的类W

45、alkmanclass Walkman implements Soundable    public void playSound()       System.out.println("随身听发出音乐:1234567");        public void decreaseVolume()       System.out.println("增大随身听

46、音量");        public void stopSound()       System.out.println("关闭随身听");    /设计新的类Mobilephoneclass Mobilephone implements Soundable    public void playSound()       S

47、ystem.out.println("手机发出来电铃声:叮当、叮当");        public void decreaseVolume()       System.out.println("增大手机音量");        public void stopSound()       System.out.pri

48、ntln("关闭手机");    class SampleDisplay       /定义接口类型参数Soundable sound;    /sound=new Radio();    /sound=new Walkman();    /sound=new Mobilephone();    public void display(Soundable sound)        /接口回调       sound.playSound()

温馨提示

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

评论

0/150

提交评论