1.下面是一个教师类Teacher,用于学校某个系部的管理。系部在管理教师时,所关心的信息主要有教师编号、姓名、性别、年龄、家庭住址、电话号码等,于是抽取这些属性来描述"教师"这个实体。考虑到教师年龄、家庭住址、电话号码等不宜对无关人员公开,于是将这些数据设为私有的成员变量(即实行保护)。要获得这些数据,必须使用类所提供的一组方法,并给出口令。检查口令是否正确是由私有方法checkPasswork完成的。阅读并编译这一程序,体会类的成员变量、类的方法以及访问权限的设计。
void print(){
System.out.println("tcode="+tCode+"\n" +"tname="+tName+" "
+"tage="+tAge+" " +"tAddr="+tAddr +" "+"tTelenmb="+tTelenmb);
}
private int checkPassword(String password)
//私有方法:检查口令是否正确 不能外部使用
{ if(tPassword==password)return 1; else return 0; }
2、参考上题实例,设计学生类
class Student //Student是类名
{
//声明成员变量
int sNumber; //学号
String sName; //姓名
String sClass; //班号
}
public class Check0 //主类Check0
{
public static void main(String args[ ]) //主方法main
{ Student x= new Student( ); //创建Student类的对象x
//访问成员变量
x.sName=″myname″;
x.sNumber=900001;
System.out.println(x.sName);
System.out.println(x.sNumber);
}
}
若
2、(课堂讲解实例)定义一个银行账户,要求有身份证号码,用户名和密码,余额等属性:
定义一个银行账户类,该类中有以下几个属性和方法:
class Account
{
int id;
String name;
float leftmoney;
String pass;
public boolean withdrawMoney(float amount){}
public boolean saveMoney(float amount ){}
}
要求:第一、使用eclipse 给每个属性增加get和set方法,即封装性
第二、在读余额的属性上要求验证密码
第三、完成存钱和取钱的方法,要求也需要密码验证
最后写一个类测试账户类。
public class Account {
private int id;
private String name;
private float leftmoney;
private String pass;
public Account(int id, String name, float leftmoney, String pass) {
this.id = id;
this.name = name;
this.leftmoney = leftmoney;
this.pass = pass;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setLeftmoney(float leftmoney) {
this.leftmoney = leftmoney;
}
public void setPass(String pass) {
this.pass = pass;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public float getLeftmoney() {
return leftmoney;
}
public String getPass() {
return pass;
}
void price(){
System.out.println("请输入密码:");
Scanner sc=new Scanner(System.in);
String pass1= sc.next();
if(pass1.equals(getPass())){
System.out.println("请输入需要取款的金额");
int withdrawals=sc.nextInt();
if(withdrawals<=leftmoney){
leftmoney=leftmoney-withdrawals;
System.out.println("账户余额"+leftmoney);
}
else{
System.out.println("当前余额不足");
}
sc.close();
}
}
public void Display(){
System.out.println("账户:" + id);
System.out.println("姓名:" + name);
System.out.println("余额:" + leftmoney);
}
public void savamoney(int inmoney){
leftmoney=leftmoney+inmoney;
System.out.println("此次存款为"+inmoney);
System.out.println("账户余额为"+leftmoney);
}
public static void main(String[] args) {
Account nauji=new Account(2121,"娟娟",10000,"123ad");
nauji.id=2121;
nauji.name="张三";
nauji.leftmoney=10000;
nauji.pass="123ad";
Scanner sc=new Scanner(System.in);
while(true){
System.out.println("---欢迎进入银行账户操作系统---");
System.out.println("---1银行账户信息---");
System.out.println("---2取款操作---");
System.out.println("---3存款操作---");
System.out.println("---4退出系统---");
System.out.println("---------------");
int choice=sc.nextInt();
switch(choice){
case 1:
System.out.println("---银行账户信息---");
nauji.Display();
break;
case 2:
System.out.println("---取款操作---");
nauji.price();
break;
case 3:
System.out.println("---存款操作---");
nauji.savamoney(10000);
break;
case 4:
System.exit(0);
break;
default:
System.out.println("操作有误");
break;
}
}
}
}
3、编写一个学校类,其中包括成员变量scoreLine(录取分数线)和对该变量进行设置和获取的方法。
- 编写一个学生类,她的成员变量有考生的name(姓名)、id(考号)、intgretResult(综合成绩)、sports(体育成绩)。它还有获取学生的综合成绩和体育成绩的方法。
- 编写一个录取类,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在96分以上并且综合成绩大于300分。该类中的main()方法建立若干个学生对象,对输出符合录取条件的学生,输出其信息及“被录取”。
要求:
1) 学生类的构造方法带4个参数,分别接收学生的姓名、考号、综合成绩和体育成绩。
2)学校类仅包括静态成员变量和方法
import java.util.ArrayList;
class School {
private int scoreLine;
public int getscoreLine() {
return scoreLine;
}
public void setscoreLine(int i) {
this.scoreLine = scoreLine;
}
}
class Pupil{
private String name;
private int id;
private int total;
private int sport;
public Pupil(String name, int id, int total, int sport) {
this.name = name;
this.id = id;
this.total = total;
this.sport = sport;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public int getTotal() {
return total;
}
public int getSport() {
return sport;
}
public void setName(String name) {
this.name = name;
}
public void setId(int id) {
this.id = id;
}
public void setTotal(int total) {
this.total = total;
}
public void setSport(int sport) {
this.sport = sport;
}
}
public class zhu {
public static void main(String[] args) {
ArrayList<Pupil>pupilArrayList=new ArrayList<Pupil>();
Pupil p1=new Pupil("张三",01,300,97);
Pupil p2=new Pupil("李四",02,400,90);
Pupil p3=new Pupil("王五",03,500,91);
Pupil p4=new Pupil("卷卷",04,300,99);
pupilArrayList.add(p1);
pupilArrayList.add(p2);
pupilArrayList.add(p3);
pupilArrayList.add(p4);
School school=new School();
school.setscoreLine(301);
luQu(pupilArrayList,school);
}
public static void luQu(ArrayList<Pupil>pupils,School school){
for(int i=0;i<pupils.size();i++){
boolean isluQu=false;
Pupil p=pupils.get(i);
if(school.getscoreLine()<p.getTotal()){
isluQu=true;
}
else if(p.getSport()>96&&p.getTotal()>300){
isluQu=true;
}
if(isluQu){
System.out.println("姓名:"+p.getName()+" 考号:"+p.getId()+",被录取");
}
}
}
}