JAVA实验报告册

更新时间:2023-10-08 19:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《面向对象程序设计》 实验报告与习题册

2013 / 2014 学年 第1学期

系 别 计算机科学与技术系 专 业 班 级 姓 名 计算机软件 软件一班 罗晓薇 朱强 指导教师 目 录

实验一 开发环境的搭建及使用 一 实验目的与要求

1、进行java开发环境的配置; 2、熟悉eclipse集成开发环境;

3、编写简单的java application 和 java applet程序,并在eclipse中编辑、编译并运行这两种程序。 二 实验内容 1、安装jdk并配置环境变量,在下面写出如何判断环境变量是否配置成功;安装eclipse集成开发环境。

答:安装过程 双击jdk图标,点击新窗口中的“接受”按钮,选择安装位置再点击“下一步”,最后“完成”。

设置环境变量并测试 右击“我的电脑”,选择“属性”项,在新窗口选择“高级”选项,再选择“环境变量”选项,在“系统变量”栏选择“path”栏,双击此栏,在编辑系统变量窗口中修改“变量值”,输入“c:\\java\\jdk1.6.0_18\\bin;”,再新建环境变量“classpath”在变量值中输入“.; c:\\java\\jdk1.6.0_18\\bin”。 点击“开始”中的“运行”,输入命令“cmd”,输入“java

”回车,如果出现了代码,就说明已经设置好环境变量了。

2、使用eclipse编写java application其功能是显示字符串“hello world!”,请将源代码和运行结果截图写在下面的空白处。 答:源代码 public class helloworld { /**

* @param args*/

public static void main(string[] args) { // todo auto-generated method stub system.out.println(hello world!); } }

运行结果

三 实验内容中遇到的问题、解决方法和体会。

答:问题 在安装java软件包时设置环境变量时,对path变量的变量值不知道用什么,还有新建classpath变量时也不知道怎么设置变量值; 在检测环境变量是否设置好时,也不知道怎么检测。

解决办法 查书本上的安装步骤,和询问同学,开始也不知道怎么检测环境变量已经设好

了,后来看同学演示并解释了一下,知道软件已经安装成功,可以直接使用了。

体会 安装java软件并投入使用时,需要设置环境变量,而这些环境变量可以使我们的一些功能得以实现和利用;

在不知道怎么安装和使用一个新的软件时,可以查询书籍,也可以询问同学。 实验二 java程序设计基本语法 一 实验目的与要求

1、java常见数据类型、运算符和各种控制结构的简单应用;2、理解递归原理; 3、实现数组的简单应用。 二 实验内容 1、编程输出0~100间所有能被3或5整除的数,每行输出不多于5个数。 答: public class testcontinue {

public static void main(string[] args) { int n=0; int i=0;

for(n=0;n<=100;n++){

if(n % 3!=0 && n % 5!=0) //不能被3或5整除,结束本次循环 continue; i++;

system.out.print(n+ );

if(i % 5==0){ //每五个数一行system.out.println(); } }

} } 运行结果

2、编写功能要求:按照考试成绩的等级输出百分制分数段,a等为85分以上,b等为70~84分,c等为60~69分 ,d等为 60分以下 。成绩的等级由键盘输入。 运行结果

3、运用java二维数组打印“魔方阵”。所谓魔方阵是指这样的矩阵,它的每一行、每一列和对角线之和均相等,要求打印1~25之间由自然数构成的魔方阵。 答:

public class magics {

public static void main(string[] args) { int i=0; int j=0; int m=0; int n=5; j=(n+1)/2-1; int[][]a=new int[n][n]; a[i][j]=++m; while(m<n*n){ i--; j++;

if(m%n==0&&m>1){ }

if(i<0) }

for(i=0;i<n;i++){ for(j=0;j<n;j++){

}

system.out.println(); }

} system.out.print(a[i][j]+\\t); i=i+n; j=j-n; if(j>(n-1)) a[i][j]=++m; i=i+2; j=j-1; 运行结果

三 实验内容中遇到的问题、解决方法和体会。 实验二 方法与递归 一 实验目的与要求 1、理解递归原理;

2、掌握递归方法的设计与调用。 二 实验内容

1、输入两个整数m和n,求其最大公约数和最小公倍数。 public static void main(string[] args) { int m,n,r,gcd,lcm=0;

m = integer.parseint(args[0]); //把字符串转换整型 n = integer.parseint(args[1]); lcm = m*n;

while((r=m%n)!=0){ m=n; n=r; }

gcd=n;

lcm=lcm/gcd;

system.out.println(最大公约数:+gcd);//打印出最大公倍数system.out.println(最小公倍数:+lcm); //打印出最小公倍数 } }

运行结果 输入6,21

2、设计一个递归程序,计算n!。 答:public class factorial { }

static int f(int n){ return n==0?1:n*f(n-1); } public static void main(string[] args) { system.out.println(10!是:+f(10)); } 运行结果

三 实验内容中遇到的问题、解决方法和体会。

问题 进行实验内容1时,编写代码处没有显示错误,运行程序时出现了下面的情况。

体会 后来听老师讲到包时,才知道java.lang是一个包,想到可能是我用到的方法在包中,但没有引入它。

实验三 面向对象程序设计 一 实验目的与要求

1、编写java应用程序,完成类、对象的创建及使用;完成成员方法和构造方法的创建及使用。

2、掌握权限访问控制符public和private的用法;实现类的继承;实现变量的隐藏和方法的重写;实现成员方法和构造方法的重载;掌握多态的意义,学会多态在程序设计中的应用。

3、编写java应用程序,完成接口的实现;体会抽象类和接口的区别;体会接口的继承原理;将接口和类分别定义在不同的包中,掌握包的使用。 二 实验内容

1、定义一个学生类,为其添加成员变量为学号、年龄、姓名、班级和学校,其中学号为最终变量,学校为类变量;为其添加构造方法以完成对学生对象的初始化;为其添加成员方法getinfo(),作用是获取学生的所有信息;在main中创建一个学生对象,并验证学生类中所有方法。

class student {

public final int id; public int age;

public string name; public string remove; public static string school; student(){ id=0; age=20; name=小明; remove=一班; school=师范; } public string getinfo(){ return

id=:+id+\\n+age=:+age+\\n+name=:+name+\\n+remove=:+remove+\\n+school=:+school; } public static void setschool(string school) { } public static void main(string[] args) { student student=new student(); student.school = school; system.out.println(student.getinfo()); } }

2、在第一题的基础上,添加三个成员方法以用来改变年龄、姓名、班级的值;添加五个成员方法以用来分别获取学号、年龄、姓名、班级和学校的值;在main中创建一个学生对象,并验证这些方法。 class student {

public final int id; public int age;

public string name; public string remove; public static string school; student(){} id=0; age=20; name=小明; remove=一班; school=师范;

public int getage() { } public void setage(int age) { } public string getname() { } public void setname(string name) { } public string getremove() { } public string setremove(string remove) { return this.remove = remove; } public int getid() { } public static string getschool() { } public string getinfo(){ return return school; return id; return remove; this.name = name; return name; this.age = age; return age;

id=:+id+\\n+age=:+age+\\n+name=:+name+\\n+remove=:+remove+\\n+school=:+school; }

} public static void main(string[] args) { student student=new student(); system.out.println(student.getinfo()); }

3、修改学生类中成员的访问权限,体会public和private两种访问权限的用法。 答: 类中成员的访问权限:继承有关 public 此成员都可公开调用

private 只有本类实例成员方法才可调用 如果子类继承了父类,而基类中成员变量或成员方法有private的,子类就不能访问那个成员。

4、定义一个people类,它包含属性有姓名name和性别sex,为people类派生出一个子类employee类,为其增加两个属性年龄age和工资等级grade,工资等级分a、b、c三个等级,在子类中增加用于打印出员工的姓名、性别、年龄和工资等级的方法print,编写一个应用程序,测试定义的类。 class people {

public string name; public string sex; }

enum grade{a,b,c;}

class employee extends people{

public int age; public string grade; this.name=name; employee(string name,string sex,int age,string grade){ } } this.sex=sex; this.age=age; this.grade=grade; void print(){ system.out.println(输出职工信息:); system.out.println(姓名:+name); system.out.println(性别:+sex); system.out.println(年龄:+age);system.out.println(工资等级:+grade); } public class test{ }

public static void main(string[] args) { } employee employee=new employee(mary,f,19,a); employee.print();

5、定义一个people类,它包含属性有姓名name和性别sex和年龄age,一个构造方法,用来初始化这三个属性;定义一个people类的子类student,添加一个属性学号number,添加两个构造方法,一个有参构造方法,一个无参构造方法,他们都要调用父类的构造方法或本类的构造方法来完成对象的初始化,添加两个成员方法,一个是选课choose(),用来输出“我没有选课”,另一个是选课choose(string),用来选择由参数指定的课程。 class people{

public string name; public string sex; public int age; people(){}

people(string name,string sex,int age){ this.name = name; this.sex = sex; this.age = age; } }

class student extends people{

本文来源:https://www.bwwdw.com/article/53yf.html

Top