`

java中按照字母数字顺序输出

    博客分类:
  • Java
阅读更多
如果有学生信息

姓名        成绩
  Zhang      80
  Zhang      68
  Zheng      71
  Li         80

需要先按照姓名的字母顺序排序,如果字母相同,则按照成绩由小到大排序,这个在java中怎么实现呢?
  
  输出结果如下

  姓名        成绩
  Li         80
  Zhang      68
  Zhang      80
  Zheng      71



package com.kingsoft.main;

import java.util.Arrays;

public class SortTest {

	public static void main(String[] args) {
		Student s1 = new Student("Zhang", 80);

		Student s2 = new Student("Zhbng", 68);

		Student s3 = new Student("Zhcng", 71);

		Student s4 = new Student("Li", 80);

		Student[] ss = { s1, s2, s3, s4 };
		// 以上是测试的数组

		for (Student s : ss)
			System.out.println(s);

		// 这个就是排序了
		Arrays.sort(ss);

		System.out.println("=============");
		for (Student s : ss)
			System.out.println(s);
	}
}

/**
 * 
 * 类Student实现 Comparable接口,以方便排序
 * 
 * 
 */
class Student implements Comparable<Student> {
	public String name;

	public int point;

	public Student() {
	}

	public Student(String name, int point) {
		this.name = name;
		this.point = point;
	}

	/**
	 * 
	 * 实现Comparable<Student>接口的方法
	 * 
	 */
	public int compareTo(Student o) {
		int stringCompare = this.name.compareTo(o.name);
		if (stringCompare == 0) {
			// 如果名字比较相同,返回的是成绩的比较结果
			return this.point - o.point;
		} else {
			// 如果名字比较不同,直接返回比较结果
			return stringCompare;
		}
	}

	/*
	 * 方便打印
	 */
	public String toString() {
		return this.name + "\t" + point;
	}
}

分享到:
评论

相关推荐

    Java 字符串应用、数组、字母转换和公约数等

    八、输入一数组,按照英文26个字母顺序,输出每个数字对应的字母,如果查不到,则输出?。如[1,3,30],输出ac?。 九、把数组中的1-26的数字映射成a-z的小写字母 如果输入其他数字,则在页面上...

    Java开发技术大全(500个源代码).

    converseNumber.java 逆向输出数字 daffodilNumber.java 求水仙花数 division.java 演示整除结果 errorCompoundVariable.java 错误使用局部变量示例 factorial.java 求阶乘 Fibonacci.java 求Fiblnacci数列 ...

    输入一行字符串,将其中的数字删除,打印其余字符

    C语言 输入一行字符串,将其中的数字删除,打印其余字符

    JAVA基础编程练习题.docx

    编写一个程序,输入一个整数n,计算1到n的和并输出结果。 编写一个程序,输入一个字符串,判断该字符串是否为回文字符...编写一个程序,输入一个字符串,判断该字符串中是否存在连续的五个字母是按照字母表顺序排列的。

    编写一个程序,实现字符串大小写的转换并倒序输出

    Java下使用for循环实现转从最后一个字符开始遍历,2) 遍历的当前字符如果是大写字母,就使用toLowerCase()方法将其转换为小写字母, 如果是小写字母则使用toUpperCase() 方法将其转换为大写字母

    Java实训报告模板

    实训内容:编写一个递归算法将输入的任意一个正整数n以相反的顺序输出。 实训分析:算法分析、N-S图、实训源程序代码和调试。 2. 矩阵对角线之和 实训目的:采用二维矩阵存储输入的数据,利用二重循环控制输入顺序...

    Java复习题

    内存用于存储程序及程序所需要的数据,RAM 表示随机存储器,内存可以按照任意顺序存取字节。内存和永久存储设备的不同是内存是易失的数据保存形式,断电时信息会丢失。 汇编语言使用短的描述型单词(助记符)来表示...

    图片整理 OJ

    Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。 输入 Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。 ...

    java基础教程第3版习题解答.doc

    * 标识符是 Java 中用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列,包括字母、下划线、美元符号和数字,第一个字符不能是数字。 * Java 中的关键字是已经被赋予特定意义的一些单词,不可以把...

    java常用工具类的使用

    Date的输出结果是按照国际通用格式输出的,而中国更习惯于“年-月-日”的形式输出,这种特殊格式的输出需要用到Java格式化工具。 3. 格式化工具 格式化的目的是把一个对象以不同的格式表示,以满足不同环境对格式的...

    广东工业大学java作业实验大集合

    编写一个java应用程序。用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。回文数是指将数含有的数字逆序排列后得到的数和原数相同,例如12121,4224,6778776等都是回文数。 1...

    java范例开发大全源代码

     实例56 按相反的顺序输出 79  实例57 奇偶分组 80  实例58 找宝 81  实例59 寻找最小数 82  实例60 我的位置在哪里 83  实例61 复制数组 85  实例62 插入新元素 86  实例63 数组的合并 87 ...

    java 经典习题.doc

    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22...

    java范例开发大全

    实例56 按相反的顺序输出 79 实例57 奇偶分组 80 实例58 找宝 81 实例59 寻找最小数 82 实例60 我的位置在哪里 83 实例61 复制数组 85 实例62 插入新元素 86 实例63 数组的合并 87 实例64 去除重复元素 88 实例65 ...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...

    Java范例开发大全 (源程序)

     实例56 按相反的顺序输出 79  实例57 奇偶分组 80  实例58 找宝 81  实例59 寻找最小数 82  实例60 我的位置在哪里 83  实例61 复制数组 85  实例62 插入新元素 86  实例63 数组的合并 87  实例64...

    java经典编程题

    1.输出所有的“水仙花数”,水仙花数是指一个三位数,这个数的各位数字的立方和就是该数本身。 2.将一个正整数分解质因数,如:18=2*3*3; 3.输入两个正整数,求这两个数的最大公约数和最小公倍数; 4.输入一行字符...

    MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

    MySQL常规排序、自定义排序和按中文拼音字母...MySQL的自定义排序,str与str1、str2、str3…进行比较,并按照str1,str2,str3…的顺序输出,如果遇到str为null或者不存在str1,str2,str3…中的情况的则序列为0, eg: S

    Java范例开发大全(全书源程序)

    实例56 按相反的顺序输出 79 实例57 奇偶分组 80 实例58 找宝 81 实例59 寻找最小数 82 实例60 我的位置在哪里 83 实例61 复制数组 85 实例62 插入新元素 86 实例63 数组的合并 87 实例64 去除重复元素 88 ...

Global site tag (gtag.js) - Google Analytics