当前位置: 首页 > news >正文

温州大型网站设计公司科技杭州网站建设

温州大型网站设计公司,科技杭州网站建设,手机网站建站 服务器,常州企业黄页参考链接#xff1a; Java程序的输出| 18(重写Override) 一道简单程序题#xff1a; 编写一个程序#xff0c;输入学生的姓名、分数信息#xff0c;要求程序按照成绩降序排序后并输出。 实现方法有很多 方法一 public class ScoreSort2 { private String name; pr…参考链接 Java程序的输出| 18(重写Override) 一道简单程序题 编写一个程序输入学生的姓名、分数信息要求程序按照成绩降序排序后并输出。 实现方法有很多 方法一     public class ScoreSort2  { private String name; private long grade; public long getGrade()  { return grade; } public void setGrade(long grade)  { this.grade grade; } public String getName() { return name; } public void setName(String name) { this.name name; } public String toString() { return this.name; } public static void main(String[] args)  { Scanner sc new Scanner(System.in); System.out.println(情输入学生人数:); int num sc.nextInt();  //学生个数 ScoreSort2 message[] new ScoreSort2[num]; //成绩信息的条数 for(int i 0; i message.length; i) { message[i] new ScoreSort2(); System.out.println(请输入第 (i1) 个学生的姓名); String name sc.next(); message[i].setName(name); System.out.println(请输入第 (i1) 个学生的成绩); long grade sc.nextLong(); message[i].setGrade(grade); } System.out.println(统计结果如下:); for(int i 0; i message.length; i) { for(int j i1; j message.length; j) { if(message[i].getGrade() message[j].getGrade()) { ScoreSort2 s new ScoreSort2(); s message[i]; message[i] message[j]; message[j] s; } } } for(int i0; i message.length; i) { System.out.println(姓名message[i].getName()成绩message[i].getGrade()); } } } 方法二 public class ScoreSort3  { public static void main(String[] args)  { Scanner input new Scanner(System.in);         System.out.println(请输入学生个数); int num input.nextInt(); scoreData[] arr new scoreData[num]; for(int i0;inum;i) { System.out.println(请输入第 (i1) 个学生的姓名:) ; String stuName input.next();//将nextLine改为next nextline只读入了数字 未读入换行 System.out.println(请输入第 (i1) 个学生的成绩:); String stuScore input.next(); arr[i] new scoreData(stuName,stuScore); } System.out.println(-----------------------); System.out.println(降序排序结果输出); Arrays.sort(arr); for(int i0;iarr.length;i) { System.out.println(arr[i]); }         } } class  scoreData implements Comparable { private String name; private String score; public scoreData(String name, String score) { this.name name; this.score score; } //降序排序 public int compareTo(Object o) { scoreData s (scoreData)o; if(this.score.compareTo(s.score)0)//String类型的大小比较 { return 1; } else if(this.score.compareTo(s.score)0) { return -1; } return 0; } Override public String toString(){//重写toString方法 return 姓名 this.name 成绩 this.score; } } Arrays.sort public static void sort(Object[] a) 根据元素的 自然顺序对指定对象数组按升序进行排序。数组中的所有元素都必须实现 Comparable 接口。此外数组中的所有元素都必须是 可相互比较的也就是说对于数组中的任何 e1 和  e2 元素而言 e1.compareTo(e2) 不得抛出  ClassCastException。 保证此排序是稳定的不会因调用 sort 方法而对相等的元素进行重新排序。 该排序算法是一个经过修改的合并排序算法其中如果低子列表中的最高元素小于高子列表中的最低元素则忽略合并。此算法提供可保证的 n*log(n) 性能。 类型参数 T - 可以与此对象进行比较的那些对象的类型 接口 ComparableT 类型参数 T - 可以与此对象进行比较的那些对象的类型 public interface ComparableT 此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序类的 compareTo 方法被称为它的自然比较方法。 实现此接口的对象列表和数组可以通过 Collections.sort和Arrays.sort进行自动排序。实现此接口的对象可以用作有序映射中的键或有序集合中的元素无需指定比较器。 对于类 C 的每一个 e1 和 e2 来说当且仅当 e1.compareTo(e2) 0 与e1.equals(e2) 具有相同的 boolean 值时类 C 的自然排序才叫做与 equals 一致。注意null 不是任何类的实例即使e.equals(null) 返回 falsee.compareTo(null) 也将抛出 NullPointerException。 建议虽然不是必需的最好使自然排序与 equals 一致。这是因为在使用自然排序与 equals 不一致的元素或键时没有显式比较器的有序集合和有序映射表行为表现“怪异”。尤其是这样的有序集合或有序映射表违背了根据equals 方法定义的集合或映射表的常规协定。 例如如果将两个键 a 和 b 添加到没有使用显式比较器的有序集合中使 (!a.equals(b) a.compareTo(b) 0)那么第二个add 操作将返回 false有序集合的大小没有增加因为从有序集合的角度来看a 和 b 是相等的。 实际上所有实现 Comparable 的 Java 核心类都具有与 equals 一致的自然排序。java.math.BigDecimal 是个例外它的自然排序将值相等但精确度不同的BigDecimal 对象比如 4.0 和 4.00视为相等。 从数学上讲定义给定类 C 上自然排序的关系式 如下 {(x, y)|x.compareTo(y) 0}。 整体排序的 商 是 {(x, y)|x.compareTo(y) 0}。 它直接遵循  compareTo 的协定商是  C 的 等价关系 自然排序是  C 的 整体排序 。当说到类的自然排序 与 equals 一致 时是指自然排序的商是由类的 equals(Object) 方法定义的等价关系。 {(x, y)|x.equals(y)}。 此接口是 Java Collections Framework 的成员。 从以下版本开始 1.2 另请参见 Comparator 方法摘要intcompareTo(T o)比较此对象与指定对象的顺序。 方法详细信息 compareTo int compareTo(T o) 比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象则分别返回负整数、零或正整数。 实现类必须确保对于所有的 x 和 y 都存在 sgn(x.compareTo(y)) -sgn(y.compareTo(x)) 的关系。这意味着如果y.compareTo(x)抛出一个异常则 x.compareTo(y) 也要抛出一个异常。 实现类还必须确保关系是可传递的(x.compareTo(y)0 y.compareTo(z)0) 意味着 x.compareTo(z)0。 最后实现者必须确保 x.compareTo(y)0 意味着对于所有的 z都存在 sgn(x.compareTo(z)) sgn(y.compareTo(z))。 强烈推荐(x.compareTo(y)0) (x.equals(y)) 这种做法但并不是 严格要求这样做。一般来说任何实现Comparable 接口和违背此条件的类都应该清楚地指出这一事实。推荐如此阐述“注意此类具有与 equals 不一致的自然排序。” 在前面的描述中符号 sgn(expression) 指定 signum 数学函数该函数根据expression 的值是负数、零还是正数分别返回-1、0 或 1 中的一个值。 参数 o - 要比较的对象。 返回 负整数、零或正整数根据此对象是小于、等于还是大于指定对象。 抛出 ClassCastException - 如果指定对象的类型不允许它与此对象进行比较 另附上Arrays.sort用法 1. 数字排序 int[] intArray new int[] { 4, 1, 3, -23 }; Arrays.sort(intArray);  输出 [-23, 1, 3, 4] 2. 字符串排序先大写后小写 String[] strArray new String[] { z, a, C }; Arrays.sort(strArray);  输出 [C, a, z] 3. 严格按字母表顺序排序也就是忽略大小写排序 Case-insensitive sort Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);  输出 [a, C, z] 4. 反向排序 Reverse-order sort Arrays.sort(strArray, Collections.reverseOrder());  输出[z, a, C] 5. 忽略大小写反向排序 Case-insensitive reverse-order sort Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);  Collections.reverse(Arrays.asList(strArray));  输出 [z, C, a] 6、对象数组排序 要对一个对象数组排序 则要自己实现java.util.Comparator接口  例子  Common_User[] userListTempnew Common_User[temp.size()];  Arrays.sort(userListTemp, new PinyinComparator());  PinyinComparator 实现了Comparator接口重写了compare方法来告诉Arrays按照什么规则来比较两个对象的大小。
http://www.huolong8.cn/news/72136/

相关文章:

  • 电商网站如何避免客户信息泄露图形化html编辑器
  • 肥西县城乡建设局网站有关网站建设的知识
  • 学做网站视频论坛沈阳专门做网站
  • 好的ppt模板免费下载网站网站建设费用做做什么科目
  • 购物网站分为几个模块优化手机软件
  • 网站建设 软件服务建站公司经营
  • 简洁的网站建设合同怎么网上推广自己的门店
  • 团购网站建站广州中国建设银行网站首页
  • 传统网站设计的缺点wordpress怎么实现社交
  • 网站备案号规则怎么做关于梦想的网站免费的
  • 做网站流量钱谁给专门做团购的网站
  • 网站建设详细流程请人做网站 我需要知道哪几点
  • 如何设置一个网站wordpress 数据库插件
  • 有机生态农业网站模板做情侣网站
  • 服务类网站建设湖州设计公司
  • php学校网站模板wordpress和论坛整合
  • 沧州网站建设网海申莱芜新闻联播
  • 沭阳哪里可以做网站深圳网络推广网站
  • 深色调网站快速建站介绍
  • 做网站设计需要多少钱做seo排名好的公司
  • 摄影网站采用照片做宣传_版权费是多少?百度关键字怎么搜到公司网站
  • 网站系统接口500异常网站建设 新要求
  • 佛山网站定制简易手工制作
  • 手机版官方网站的建设做外贸的国际网站有哪些
  • 服务器做视频网站吗怎样做网站外部样式
  • 西安网站制作工商网站建设先进个人自荐
  • 旅游网站开发文档WordPress分享到笔记
  • 网站建设方案的摘要怎么写vi设计的简介
  • 做购物网站写数据库的流程品牌推广全案
  • 崇左市住房和城乡建设局网站网站二级页面怎么做