鱼C论坛

 找回密码
 立即注册
查看: 2130|回复: 1

[已解决]java冒泡求助

[复制链接]
发表于 2022-6-21 23:47:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
需求 按照年龄大小输出
  1. /*
  2. * Copyright (c) 2022. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  3. * Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
  4. * Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
  5. * Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
  6. * Vestibulum commodo. Ut rhoncus gravida arcu.
  7. */

  8. package hapedu.opp;

  9. public class HomeWork1 {
  10.     public static void main(String[] args) {
  11.         Person[] p = new Person[3];
  12.         p[0] = new Person("jack", "老板", 18);
  13.         p[1] = new Person("mary", "老师", 22);
  14.         p[2] = new Person("aili", "老总", 40);

  15.         for (int i = 0; i < p.length; i++) {
  16.             System.out.println(p[i]);
  17.         }

  18.         //冒泡排序
  19.         Person tmp = null;
  20.         for (int i = 0; i < p.length - 1; i++) { //循环次数
  21.             for (int j = 0; j < p.length - 1 - i; j++) { //比较次数
  22.                 //age从大到小排序
  23.                 if (p[i].getAge() < p[i + 1].getAge()) {
  24.                     tmp = p[i];
  25.                     p[i] = p[i + 1];
  26.                     p[i + 1] = p[i];
  27.                 }

  28.             }

  29.         }
  30.         System.out.println("排序后的结果");
  31.         for (int i = 0; i < p.length; i++) {
  32.             System.out.println(p[i]);
  33.         }
  34.     }
  35. }


  36. class Person{
  37.     private String name;
  38.     private String job;
  39.     private int age;

  40.     public Person(String name, String job, int age) {
  41.         this.name = name;
  42.         this.job = job;
  43.         this.age = age;
  44.     }

  45.     public String getName() {
  46.         return name;
  47.     }

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

  51.     public String getJob() {
  52.         return job;
  53.     }

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

  57.     public int getAge() {
  58.         return age;
  59.     }

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

  63.     @Override
  64.     public String toString() {
  65.         return "Person{" +
  66.                 "name='" + name + '\'' +
  67.                 ", job='" + job + '\'' +
  68.                 ", age=" + age +
  69.                 '}';
  70.     }
  71. }
复制代码


不知道为啥运行的不对
最佳答案
2022-6-22 06:26:30

  1. if (p[j].getAge() < p[j + 1].getAge()) {
  2.     tmp = p[j];
  3.      p[j] = p[j + 1];
  4.       p[j + 1] = tmp;
  5. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-6-22 06:26:30 | 显示全部楼层    本楼为最佳答案   

  1. if (p[j].getAge() < p[j + 1].getAge()) {
  2.     tmp = p[j];
  3.      p[j] = p[j + 1];
  4.       p[j + 1] = tmp;
  5. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-7 05:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表