2、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 3、某比赛有10个评委打分,编写程序,输入评委打分,求选手的平均得分,要求去掉一个最高分和一个最低分再进行平均。
4、随机生成[0 ~ 100]之间的10个整数,置于一维数组中,使用选择法排序对其递增排序。
4
实验2 面向对象基础
一、实验目的
1、了解类的成员设计及类与对象的关系; 2、掌握静态属性与实例属性的使用差异; 3、掌握静态方法与实例方法的使用差异; 4、掌握继承、接口、抽象类和多态性;
二、实验环境
MyEclipse/Eclipse
三、实验内容
(一)基本指导
1、题目:设计一个表示用户的User类,类中的属性有用户名、口令和用户个数,类中有3个构造方法(无参、为用户名赋值、为用户名和口令赋值)、获取和设置用户名和口令的方法和获取用户个数的方法。并编写程序进行测试。
操作步骤:
(1)启动MyEclipse,新建一个Java工程:选择菜单File->New->Java Project,就会弹出创建Java 项目的界面。在创建Java 项目的界面中,在Project name文本框中输入“Experiment2”。单击Finish按钮完成工程的创建。
(2)在Package Explorer窗口中单击工程Experiment2前面的“+”号,在“src”上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面。在Package文本框中输入“user”,在Name文本框中输入“User”,其它取缺省值,单击Finish按钮完成User类的创建。
(3)在User类中定义三个属性:
private String userName; private String passWord;
private static int userNumbers=0;
(4)把鼠标定位在属性后的下一行,选择菜单Source->Generate Constructor using Fields...”,就会弹出创建构造方法的界面,在此界面中,去掉属性userName和passWord复选框的选中标记,单击OK按钮,这样就在User类中添加了一个无参构造方法。然后如法炮制分别选中属性userName复选框生成为用户名赋值的构造方法、选中属性userName和passWord复选框生成为用户名和口令赋值的构造方法。
(5)把鼠标定位在构造方法后的下一行,选择菜单Source->Generate Getters and Setters...”,就会弹出创建Getters和Setters方法的界面,在此界面中,选中属性userName和属性passWord前面的复选框,单击属性userNumbers前的“+”号,选中“getUserNumbers( )”前面的复选框,单击OK按钮,这样就在User类中添加了获取和设置用户名、口令的方法以及获取用户个数的方法。
(6)在3个构造方法中都添加语句:userNumbers++; 至此,User类创建完毕,完整的代码如下:
package user; public class User {
5
}
private String userName; private String passWord;
private static int userNumbers=0; public User() { }
public User(String userName) { }
public User(String userName, String passWord) { }
public String getUserName() { }
public void setUserName(String userName) { }
public String getPassWord() { }
public void setPassWord(String passWord) { }
public static int getUserNumbers() { }
return userNumbers;
this.passWord = passWord; return passWord;
this.userName = userName; return userName; userNumbers++;
this.userName = userName; this.passWord = passWord; userNumbers++;
this.userName = userName; userNumbers++;
(7)在Package Explorer窗口中工程Experiment2下的“src”下的“user”上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面。在Name文本框中输入“App”,选中“public static void main(String[] args)”复选框,单击Finish按钮完成类的创建。这样就创建了一个名称为App的主类。
(8)在App类的main方法中输入代码如下:
package user; public class App {
public static void main(String[] args) {
User u1=new User(); u1.setUserName(\张三\); u1.setPassWord(\); User u2=new User(\李四\); u2.setPassWord(\);
6
}
}
User u3=new User(\王五\,\);
System.out.println(\用户名:\+u1.getUserName()+\密码:System.out.println(\用户名:\+u2.getUserName()+\密码:System.out.println(\用户名:\+u3.getUserName()+\密码:System.out.println(\用户数:\+User.getUserNumbers());
\+u1.getPassWord()); \+u2.getPassWord()); \+u3.getPassWord());
(9)点击工具栏运行按钮,运行结果如图E2-1所示。
图E2-1 运行结果
2、题目:以电话Phone为父类(有本机号码、打电话等属性和功能),移动电话Mobilephone和固定电话Fixedphone为两个子类。固定电话又有子类:无绳电话Cordlessphone。并使移动电话和无绳电话实现接口:可移动Moveable接口。设计并定义这几个类,明确它们的继承关系。编写程序进行测试:声明Phone类的引用数组(含3个元素),并指向子类对象,其中1个Mobilephone类的对象、1个Fixedphone类的对象和一个Cordlessphone类的对象。再定义2个Moveable接口引用,指向1个Mobilephone类的对象和一个Cordlessphone类的对象,通过父类的引用调用某个方法实现多态性。
操作步骤:
(1)启动MyEclipse,在Package Explorer窗口中单击工程Experiment2前面的“+”号,在“src”上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Package文本框中输入“phone”,在Name文本框中输入“Phone”,并选中“abstract”复选框,单击Finish按钮完成类的创建。这样就创建了一个名称为Phone的类。输入如下代码:
package phone;
public abstract class Phone {
private String phoneCode; // 电话号码 public Phone() { }
public Phone(String phoneCode) { }
public String getPhoneCode() { }
return phoneCode; super();
this.phoneCode = phoneCode; super();
7
}
public void setPhoneCode(String phoneCode) { }
public abstract void call(); // 打电话
public abstract String phoneType();// 输出电话类型
this.phoneCode = phoneCode;
(2)在Package Explorer窗口中工程Experiment2下的“src”下的“phone”上单击鼠标右键,在弹出菜单中选择New->Interface命令,就会出现创建Java 接口界面,在Name文本框中输入“Moveable”,单击Finish按钮完成接口的创建。这样就创建了一个名称为Moveable的接口。输入如下代码:
package phone;
public interface Moveable { }
public void way(); //移动方式
(3)在Package Explorer窗口中工程Experiment2下的“src”下的“phone”上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Name文本框中输入“Mobilephone”,单击Superclass后的“Browse...”按钮,在弹出的窗口中的“Choose a type:”文本框中输入“Phone”,单击OK按钮返回,再单击Interfaces后的“Add...”按钮,在弹出的窗口中的“Choose interfaces:”文本框中输入“Moveable”,单击OK按钮返回,单击Finish按钮完成类的创建。这样就创建了一个名称为Mobilephone的类。输入如下代码:
package phone;
public class Mobilephone extends Phone implements Moveable {
public Mobilephone() { }
public Mobilephone(String phoneCode) { } /*
* 实现Moveable 接口中的方法 */ @Override
public void way() { } /*
* 重写Phone 父类中的方法 */ @Override
public void call() { // 打电话 }
@Override
System.out.println(\用移动电话打电话,电话号码:\+getPhoneCode()); System.out.println(\这是可移动的Mobilephone\); super(phoneCode); // 调用父类代参的构造方法 super();
8
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java实验指导书(2)在线全文阅读。
相关推荐: