要求:编写一个程序。程序中定义一个类circle,其中有数据成员radius;创建一个有5个circle型元素的数组,其radius值分别为2、10、8、4、121、调用Arrays.sort()给这个数组排序。

import java.util.*;

public class Circle implements Comparable//要对类中成员变量必须实现实现对Comparable的接口

{
private double radius;
public Circle(double radius)//构造方法
{
this.radius=radius;
}
public void setr(double radius)
{
this.radius=radius;
}
public double getr()
{
return this.radius;
}
@Override
public int compareTo(Object o) //重载方法
{

//我主要是卡在了这里,不知道如何重载方法,后来通过看sort方法源代码发现只要return1,0,-1就能自动排序

 

Circle inner = (Circle)o;     
if(inner.radius>this.radius) return -1;
else if(inner.radius<this.radius) return 1;
else return 0;

}

}

public class Main16
{

public static void main(String[] args)
{
Circle[] arr = { new Circle(2), new Circle(10), new Circle(8), new Circle(4), new Circle(12) };

Arrays.sort(arr);
for(int i=0;i<5;i++)
{
System.out.println(arr[i].getr());

}

}

}

java中对类中成员的排序的更多相关文章

  1. Java中主类中定义方法加static和不加static的区别

     Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用(类名.方法),后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 ...

  2. 教你在Java的普通类中轻松获取Session以及request中保存的值

    曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助! 如何在Java的 ...

  3. java.util.Stack类中的peek()方法

    java.util.stack类中常用的几个方法:isEmpty(),add(),remove(),contains()等各种方法都不难,但需要注意的是peek()这个方法. peek()查看栈顶的对 ...

  4. c++中在一个类中定义另一个只有带参数构造函数的类的对象

    c++中在一个类中定义另一个只有带参数构造函数的类的对象,编译通不过 #include<iostream> using namespace std; class A { public:  ...

  5. python---Django中模型类中Meta元对象了解

    Django中模型类中Meta元对象了解 1.使用python manage.py shell 进入编辑命令行模式,可以直接进入项目(为我们配置好了环境) python manage.py shell ...

  6. C++中若类中没有默认构造函数,如何使用对象数组

    前言: 如果定义一个类,有其默认的构造函数,则使用new动态实例化一个对象数组,不是件难事,如下代码: #include <memory> #include <iostream> ...

  7. 【Java基础之Object类(一)】Java中Object类中的所有方法(toString、equals、hashCode、clone、finalize、wait和notify等)详解(转载)

    java中的hashcode.equals和toString方法都是基类Object的方法. 首先说说toString方法,简单的总结了下API说明就是:返回该对象的字符串表示,信息应该是简明但易于读 ...

  8. java中Arrays类中,binarySearch()方法的返回值问题

    最近在复习Java知识,发现果然不经常使用忘得非常快... 看到binarySearch()方法的使用时,发现书上有点错误,于是就自己上机实验了一下,最后总结一下该方法的返回值. 总结:binaryS ...

  9. java中File类中list()和listFiles()方法区别

    list()和listFiles()方法区别: 1.返回值类型不同:前者为String数组,后者为File对象数组 2.数组中元素内容不同:前者为string类型的[文件名](包含后缀名),后者为Fi ...

随机推荐

  1. Python的类的下划线命名的区别

    首先,单下划线开头,这个常被用于模块中,在一个模块中以单下划线开头的变量和函数被默认当做内部函数,如果使用from  module  import  *导入时,这部分变量和函数不会被导入.注意,如果使 ...

  2. 学习mysql,记录下常用的命令行语句

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...

  3. yml配置文件读取出错 Exception in thread "main" while scanning for the next token found character '\t(TAB)'

    这几天在学习springboot的微服务项目,在配置文件方面也想尝试下新的yml配置,就想把原来项目properties写的文件转换成yml试一下(老项目是之前检出在了eclipse里面),结果写好了 ...

  4. rpc概念及nfs的基本应用

    NFS:Network File System NFS监听在TCP/UDP:2049端口: nfs服务器: [root@localhost ~]#yum -y install [root@localh ...

  5. Jedis路由key的算法剥离

    在Redis集群中,会有很多个分片,如果此时利用Jedis来操作此Redis集群,那么他会把数据路由到不到的分片上.而且如果动态的往集群中增加分片,也不会影响Jedis的功能.究竟是怎么做到的呢? 由 ...

  6. python之路-----MySql操作

    一.概述 1.什么是数据库 数据库就是按照数据结构来组织.存储和管理数据的仓库.如我们创建的文件夹,就是一个数据库. 2.什么是mysql,oracle,access,sqlit等? 他们都是一款软件 ...

  7. js 遍历数组

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...

  8. 使用java命令出现Error: A JNI error has occurred, please check your installation and try again的错误

    运行Java程序,javac运行.java文件没有报错,但java运行的时候报错 ​​​ 仔细看一下报错 Exception in thread "main" java.lang. ...

  9. cocoaPods安装爬坑总结

    1.移除现有Ruby默认源 $ gem sources --remove https://rubygems.org/   2.使用新的源 $ gem sources -a https://ruby.t ...

  10. python常见问题汇总

    1.python使用selenium中的时间等待 a.强制等待 time.sleep() b.隐式等待: 如果某些元素不是立即可用的,隐式等待是告诉WebDriver去等待一定的时间后去查找元素. 默 ...