-cfyjbjonn 2020-05-25 01:48 采纳率: 57.1%
浏览 126
已采纳

关于java接口的简单问题,在线等,急,谢谢谢谢

这是题目
图片说明

package q;
import  java.util.Arrays;

class  Person implements Comparable<Person>  {
        private static String getHeight;
        private static  String  name;
        private  float  height;
        private static float weight;

        public  Person(String  name,  float  height,  float  weight)  {
        name = this.name;
        height = this.height;
        weight = this.weight;

        }

        public    String  getName()  {
                return  name;
        }

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

        public  float  getHeight()  {
                return  height;
        }

        public  void  setHeight(float  height)  {
                this.height  =  height;
        }

        public  float  getWeight()  {
                return  weight;
        }

        public  void  setWeight(float  weight)  {
                this.weight  =  weight;
        }


        public  void  speak()  {
        System.out.println("I am "+name+",my height "+height+",my weight "+weight);

        }

        public  int  compareTo(Person  o)  {
            int m = (int) (o.getWeight()*0.5+o.getHeight()*0.5);
            return m;
        }

        @Override
        public String toString() {
            return "Person [name=" + name + ",height=" + height + ",weight="+ weight + "]";


        }



}

public  class  TestCompare  {
        public  static  void  main(String[]  args)  {
                int  i;
                Person  ps[]  =  new  Person[6];
                ps[0]  =  new  Person("zhangsan",  170,  110);
                ps[1]  =  new  Person("lisi",  168,  120);
                ps[2]  =  new  Person("wangwu",  165,  115);
                ps[3]  =  new  Person("zhaoliu",  172,  121);
                ps[4]  =  new  Person("zhouqi",  160,  100);
                ps[5]  =  new  Person("zhengba",  166,  119);
                System.out.println("array  sort  before:");
                for  (i  =  0;  i  <  ps.length;  i++)  {
                        ps[i].speak();
                }

                Arrays.sort(ps); //  call  sort  method
                System.out.println("\narray  sort  after:");
                for  (i  =  0;  i  <  ps.length;  i++)  {
                        System.out.println(ps[i]);
                }
        }
}

这是我的答案
图片说明
请问怎么改?谢谢谢谢

  • 写回答

2条回答 默认 最新

  • 周祭酒 2020-05-25 08:34
    关注
    public class TestCompare {
        public static void main(String[] args) {
            int i;
            Person ps[] = new Person[6];
            ps[0] = new Person("zhangsan", 170, 110);
            ps[1] = new Person("lisi", 168, 120);
            ps[2] = new Person("wangwu", 165, 115);
            ps[3] = new Person("zhaoliu", 172, 121);
            ps[4] = new Person("zhouqi", 160, 100);
            ps[5] = new Person("zhengba", 166, 119);
            System.out.println("array  sort  before:");
            for (i = 0; i < ps.length; i++) {
                ps[i].speak();
            }
    
            Arrays.sort(ps); // call sort method
            System.out.println("\narray  sort  after:");
            for (i = 0; i < ps.length; i++) {
                System.out.println(ps[i]);
            }
        }
    }
    
    class Person implements Comparable<Person> {
        private String name;
        private float height;
        private float weight;
    
        public Person(String name, float height, float weight) {
            this.name = name;
            this.height = height;
            this.weight = weight;
    
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public float getHeight() {
            return height;
        }
    
        public void setHeight(float height) {
            this.height = height;
        }
    
        public float getWeight() {
            return weight;
        }
    
        public void setWeight(float weight) {
            this.weight = weight;
        }
    
        public void speak() {
            System.out.println("I am " + name + ",my height " + height + ",my weight " + weight);
    
        }
    
        @Override
        public int compareTo(Person o) {
            int m = (int) (this.getWeight() * 0.5 + this.getHeight() * 0.5)
                    - (int) (o.getWeight() * 0.5 + o.getHeight() * 0.5);
            return m;
        }
    
        @Override
        public String toString() {
            return "Person [name=" + name + ",height=" + height + ",weight=" + weight + "]";
    
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line