【面向对象】小练习

知识点

面向对象的基本用法


  1. 编写教师类和学生类,

    Student类
    属性:
    name:String
    age:int
    major:String
    interests:String
    方法:say()
    返回学生的所有个人信息
    ​
    Teacher类
    属性:
    name:String
    age:int
    teachAge:int
    course:String
    方法:say()
    输出教师的个人信息
        
    ​
    通过测试类创建Student对象和Teacher类赋值和调用say()方法

public class demo3 {
    public static void main(String[] args) {
        student s=new student();
        s.name="小王";
        s.age=12;
        s.major="大数据";
        s.interests="吃喝玩乐";
        s.say();
        teacher t =new teacher();
        t.name="大王";
        t.age=21;
        t.teachAge=3;
        t.course="sleep";
        t.say();
    }
}
​
//学生类
public class student {
   String name;
   int age;
   String major;
   String interests;
 public void say(){
     System.out.println("姓名:"+name+"  年龄:"+age+"  专业:"+major+"  兴趣:"+interests);
    }
}
​
//教师类
public class teacher {
    String name ;
    int age;
    int teachAge;
   String course;
​
    public void say() {
        System.out.println("姓名:"+ name+"  年龄:"+age+"  教龄:"+teachAge+"  课程名:"+course);
    }
}
​
​
​
​
  1. /*
    定义一个丈夫Husband类,有姓名、年龄、妻子属性
    ​
    定义一个妻子Wife类,有姓名、年龄、丈夫属性
    ​
    丈夫类中有一个getInfo方法,其中,能显示自己的姓名,年龄,和他的妻子的姓名,年龄
    ​
    妻子类中有一个getInfo方法,其中,能显示自己的姓名,年龄,和她的丈夫的姓名,年龄
    ​
    定义一个测试类,创建妻子和丈夫对象,然后测试对象调用getInfo方法
    */
    ​
    public class demo3 {
        public static void main(String[] args) {
            Wife a=new Wife("小红",28);
            Husband h=new Husband("小明",27);
            a.setHusband(h);
            h.setWife(a);
            a.getInfo();
            h.getInfo();
        }
    }
    ​
    public class Wife {
        String name ;
        int age;
        Husband husband;
       public Wife(String name , int age){
           this.name=name;
           this.age=age;
       }
        public void setHusband(Husband husband){
           this.husband=husband;
       }
       public Husband getHusband(){
           return husband;
        }
        public void getInfo() {
            System.out.println("姓名:"+ name+"  年龄:"+age+"  丈夫:"+ husband.name+","+husband.age);
        }
    }
    ​
    public class Husband {
        String name ;
        int age;
        Wife wife;
        public Husband(String name , int age){
            this.name=name;
            this.age=age;
        }
    ​
        public void setWife(Wife wife){
            this.wife=wife;
        }
        public Wife getWife(){
            return wife;
        }
        public void getInfo() {
            System.out.println("姓名:"+ name+"  年龄:"+age+"  妻子:"+wife.name+","+wife.age);
        }
    }
  2. /*
     (1)声明一个圆柱体类型的类
    (2)声明属性:底边的半径,和高
    (3)声明方法:
        A:方法的功能:在方法中打印圆柱体的详细信息
        圆柱体的底边的半径是xxx,高是xxx,底面积是xxx,体积是xxx。
        B:方法的功能:返回底面积 
        C:方法的功能:返回体积
        D:方法的功能:为圆柱体的底边的半径,和高赋值
        E:方法的功能:为圆柱体的底边的半径,和高赋值,并返回赋值的结果
        如果底边的半径或高为<=0,赋值失败,返回false,否则返回true
    (4)并测试  
    */
    public class demo3 {
        public static void main(String[] args) {
         round b=new round();
         b.setR(2);
         b.getR();
         b.setH(2);
         b.getH();
         b.s();
         b.v();
         b.message();
        }
    }
    ​
    ​
    public class round {
      private double r;
      private double h;
       double s;
       double v;
        public void setR(double r) {
            this.r = r;
        }
    ​
        public void setH(double h) {
            this.h = h;
        }
    ​
        public double getR() {
            if (r<=0){
                boolean a=false;
                System.out.println(a);
            }else {
                boolean a=true;
                System.out.println(a);
            }
            return r;
        }
    ​
       public double getH() {
            if (h<=0){
                boolean a=false;
                System.out.println(a);
            }else {
                boolean a=true;
                System.out.println(a);
            }
            return h;
        }
    ​
        public void s() {
            s=3.14*r*r;
        }
    ​
        public void v() {
            v=s*h;
        }
    ​
        public void message(){
           System.out.println("半径:"+r+" 高:"+h+" 面积:"+s+" 体积"+v);
       }
    }
    ​
    ​
    ​
  3. 声明一个日期类型MyDate:

    有属性:年year,月month,日day。

    创建2个日期 对象,分别赋值为:你的出生日期,你对象的出生日期,并显示信息。

    public class demo3 {
        public static void main(String[] args) {
        MyDate md1=new MyDate();
        md1.year=2001;
        md1.month=3;
        md1.day=2;
        MyDate md2=new MyDate();
        md2.year=0;
        md2.month=0;
        md2.day=0;
            System.out.println(md1.year+","+md1.month+","+md1.day);
            System.out.println(md2.year+","+md2.month+","+md2.day);
        }
    }
    ​
    ​
    public class  MyDate{
        int year;
        int month;
        int day;
    }
    ​
  4. 对象数组题目(数组和对象的结合):

定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。 
创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。 
问题:打印出3年级(state值为3)的学生信息。 
提示: 1) 生成随机数:Math.random(),返回值类型double;  (Matn为工具类)([0,1})
      2) 四舍五入取整:Math.round(double d),返回值类型long 
public class demo3 {
    public static void main(String[] args) {
    Student [] s=new Student[20];
    for(int i=0;i<s.length;i++){
        s[i]=new Student();
        s[i].number=i+1;
        s[i].state=(int)(Math.random()*6+1);
        s[i].score=(int)(Math.random()*100+1);
    }
        for(int i=0;i<s.length;i++){
            if (s[i].state==3){
            s[i].message();}
        }
    }
}
​
​
public class  Student{
    int number;
    int state;
    int score;
    public void message(){
        System.out.println("学号"+number+" 年级"+state+" 成绩"+score );
    }
}
​
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值