Java继承练习

构建Person类(属性:名字、年龄、工作岗位),创建三个对象,并且根据对象的年龄或名字长度来进行冒泡排序

java 复制代码
package chapter08.homework.test01;

public class homework01 {
    public static void main(String[] args) {
        Person[] persons = new Person[3];
        persons[0] = new Person("tom",66,"软件工程师");
        persons[1] = new Person("jack",20,"java工程师");
        persons[2] = new Person("smith",21,"python工程师");
        for (int i = 0; i < persons.length; i++) {
            System.out.println(persons[i]);//默认调Person的toString方法
        }
        Person tem = null;
        for (int i = 0; i < persons.length-1; i++) {
            for (int j = 0; j < persons.length-1-i; j++) {
                //前面人的年龄小于后面的,就交换
//                if (persons[i].getAge()>persons[i+1].getAge()) {
//                   tem=persons[i];
//                    persons[i]=persons[i+1];
//                    persons[i+1]= tem;
//                }
                //按照名字长度排序
                if (persons[i].getName().length()>persons[i+1].getName().length()) {
                    tem=persons[i];
                    persons[i]=persons[i+1];
                    persons[i+1]= tem;
                }
            }
        }
        System.out.println("*********************");
        for (int i = 0; i < persons.length; i++) {

            System.out.println(persons[i]);//默认调Person的toString方法
        }
    }
}
class Person{
    private String name;
    private int age;
    private String job;

    public Person(String name, int age, String job) {
        this.name = name;
        this.age = age;
        this.job = job;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", job='" + job + '\'' +
                '}';
    }
}
相关推荐
小雅痞1 分钟前
[Java][Leetcode middle] 73. 矩阵置零
java·leetcode·矩阵
枕星而眠5 分钟前
Linux 共享内存与信号量全解析:原理、实践与避坑指南
linux·c语言·开发语言·后端·ubuntu
Ulyanov6 分钟前
《从质点到位姿:基于Python与PyVista的导弹制导控制全栈仿真》: 驯服猛兽——自动驾驶仪(Autopilot)设计与舵机动力学
python·自动驾驶·雷达电子对抗
Sanri.9 分钟前
JavaScript基础语法6
开发语言·javascript·ecmascript
hhb_61812 分钟前
JavaScript核心技术要点梳理与实战应用案例解析
开发语言·javascript·ecmascript
Mike117.12 分钟前
GBase 8a DBLink 查询的落地边界和排查细节
开发语言·php
代码中介商13 分钟前
C++ STL入门:vector与字符串流详解
开发语言·c++
funnycoffee12313 分钟前
cisco Firepower 4110 9300 FXOS set chassis hostname
java·服务器·数据库
Gofarlic_OMS14 分钟前
CONVERGE CFD许可不够用?自动回收闲置,燃烧仿真随时跑
java·大数据·开发语言·架构·制造
重生之我是Java开发战士19 分钟前
【Java SE】多线程(二):线程安全、synchronized、volatile与wait/notify详解
java·开发语言·安全