收藏 分销(赏)

Java程序设计实验指导书二.doc

上传人:精**** 文档编号:4942427 上传时间:2024-10-20 格式:DOC 页数:11 大小:327KB 下载积分:8 金币
下载 相关 举报
Java程序设计实验指导书二.doc_第1页
第1页 / 共11页
Java程序设计实验指导书二.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
. 实验指导二 实验1:Eclipse的安装与配置 一、实验目的 (1)学习从网络上下载并安装配置Eclipse开发工具。 (2)学习编写简单的java程序 (3)学习编写部署JSP工程。 二、实验任务 用Eclipse完成简单的JSP页面网页 三、实验内容 Eclipse的安装与配置 1.安装Eclipse 略 2.Eclipse的环境配置 先运行MyEclipse软件,第一次运行时需要建立一个工程文件目录,这里根据个人习惯自行建立。进入Eclipse界面后: 第一步:选择建立Java工程。 第二步:建立class文件 第三步: 实现Hello World程序 第四步: 用Eclipse 执行Hello World程序 实验2:Java类与对象 一、实验目的 (1)掌握Java类的继承关系和派生方法。 (2)理解多态的概念与使用。 (3)掌握接口的定义和使用。 二、实验任务 (1)按要求编写一个Java程序。 (2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。 三、实验内容 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。 class Student{ private 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; this.name=name; 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()+"\n姓名:"+getName()+"\n性别:"+getSex()+"\n年龄:"+getAge(); } } public class StudentDemo{ public static void main(String[] args){ Student s1=new Student(90221,2,"Tom","male",20); System.out.println(s1.toString()); } } 运行结果: 实验3:使用修饰符 有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。常用的修饰符如下。Public,private,protected,package,static,final. 1.程序功能:通过两个类StaticDemo、KY3_4说明静态变量、方法与实例变量、方法的区别。 2.编写类文件KY3_4.java,程序源代码如下。 class StaticDemo { static int x; int y; public static int getX() { return x; } public static void setX(int newX) { x = newX; } public int getY() { return y; } public void setY(int newY) { y = newY; } } public class KY3_4 { public static void main(String[] args) { System.out.println("静态变量x="+StaticDemo.getX()); System.out.println("实例变量y="+StaticDemo.getY()); //非法,编译时将出错 StaticDemo a= new StaticDemo(); StaticDemo b= new StaticDemo(); a.setX(1); a.setY(2); b.setX(3); b.setY(4); System.out.println("静态变量a.x="+a.getX()); System.out.println("实例变量a.y="+a.getY()); System.out.println("静态变量b.x="+b.getX()); System.out.println("实例变量b.y="+b.getY()); } } 3.对上面的源程序进行编译,排错并运行 实验4:用户登录程序设计 实现一个用户登录程序,其中要有三个类:主类(有主方法的类)、 Check类 、Operator 类名 功能 LoginDemo 主方法类,实例化操作类对象取得验证信息 Check 验证操作,只需要传入用户名和密码即可完成验证 Operator 类的主要功能就是封装Check类的操作,并把Check的信息返回给调用处 实验5:Java继承与多态 一、实验目的 (1)掌握Java类的定义和使用方法。 (2)掌握对象的声明和使用。 (3)构造函数的概念和使用。 (4)掌握类及其成员的访问控制符的使用。 (5)掌握包的概念和使用。 二、实验任务 (1)输入根据给定的Java Application程序,写出运行结果。 (2)按照要求编写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 SuperClass { 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.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: } 运行结果: 2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计: (1)设计一个基类Student描述学生的共同特征。 (2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。 (3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。 (4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。 class Student{ private String name; private int classA,classB,classC; public Student(String name,int classA,int classB,int classC){ this.name=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 Student{ public UnderGraduate(String name,int classA,int classB,int classC){ super(name,classA,classB,classC); } public void isPass(){ if(getAverage()>=60) System.out.println("本科生"+getName()+"的三科平均分为:"+getAverage()+",可以拿到学士学位。"); else System.out.println("本科生"+getName()+"的三科平均分为:"+getAverage()+",不能拿到学士学位。"); } } class Graduate extends Student{ public 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()+",可以拿到硕士学位。"); else System.out.println("研究生"+getName()+"的三科平均分为:"+getAverage()+",不能拿到硕士学位。"); } } public class StudentDemo{ public 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(); } } 运行结果: 假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资: (1)经理(Manager)——每月获得一份固定的工资 (2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。 (3)一般工人(Worker)——则按他每月工作的天数计算工资。 根据上述要求试用类的继承和相关机制描述这些功能,并编写一个Java Application程序,演示这些类的用法。(提示:应设计一个雇员类(Employee)描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary( ),使得可以通过这个类计算所有雇员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。) abstract class Employee{ private String name; public Employee(String name){ this.name=name; } public String getName(){ return name; } public abstract double computeSalary(); } class Manager extends Employee{ private double monthSalary; public Manager(String name,double monthSalary){ super(name); this.monthSalary=monthSalary; } public double computeSalary(){ return monthSalary; } } class Salesman extends Employee{ private double baseSalary; private double commision; private int qualtities; public Salesman(String name,double baseSalary,double commision,int qualtities){ super(name); this.baseSalary=baseSalary; mision=commision; this.qualtities=qualtities; } public double computeSalary(){ return baseSalary+commision*qualtities; } } class Worker extends Employee{ private double dailySalary; private int days; public Worker(String name,double dailySalary,int days){ super(name); this.dailySalary=dailySalary; this.days=days; } public double computeSalary(){ return dailySalary*days; } } public class EmployeeDemo{ public static void main(String args[]){ Manager e1=new Manager("张三",10000); Salesman e2=new Salesman("李四",2000,50.4,63); Worker e3=new Worker("王五",79.5,28); System.out.println("经理"+e1.getName()+"的月工资为:"+puteSalary()); System.out.println("销售人员"+e2.getName()+"的月工资为:"+puteSalary()); System.out.println("工人"+e3.getName()+"的月工资为:"+puteSalary()); } } 运行结果: 部分内容来源于网络,有侵权请联系删除!
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服