java定义和使用类和对象

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(录取分数线)和对该变量进行设置和获取的方法。

  1. 编写一个学生类,她的成员变量有考生的name(姓名)、id(考号)、intgretResult(综合成绩)、sports(体育成绩)。它还有获取学生的综合成绩和体育成绩的方法。
  2. 编写一个录取类,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在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()+",被录取");
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值