`

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程序设计》(专升本)考评作业-含答案.pdf

    * Java 中的标识符包括:字母、数字、下划线、美元符号 * 标识符的命名规则包括:首字母只能是字母或下划线,不能以数字开头 九、Java 输入输出 * Java 中的输入输出包括:System.in、System.out、System.err * ...

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

    具体来说,对于输入的字符串中的每个字符,如果是大写字母,则转换为小写字母;如果是小写字母,则转换为大写字母。最终输出的是经过转换后的字符串的逆序形式。 #### 设计思路 为了完成这一任务,我们首先需要了解...

    java语言程序-分支结构题目.doc

    02. 输入三个整数,按从大到小的顺序输出。 知识点:Java 中的整数类型、if 语句、逻辑运算符。 03. 给出一个百分制的成绩,要输出成绩等级“A”、“ B”,“ C”,“ D”,“ E”。 知识点:Java 中的整数类型、...

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

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

    从键盘读取数字并排序,对文本中的单词进行排序,java

    这段代码会按字母顺序排序`text`中的单词。 关于压缩包中的文件,如`c04312039.java`、`H_201.java`、`homework2_2.java`、`Input.java`和`StringOpt.java`,它们可能是实现以上功能的源代码。`Input.java`可能包含...

    Java SE文档(全)

    - **计算机存储规则**:Java中的数据在内存中以二进制形式存储,遵循特定的字节顺序(Big-Endian或Little-Endian)。 - **数据类型**:Java有两大类数据类型,基本数据类型(如整型、浮点型、字符型、布尔型)和...

    java课后习题 关于 编写一个类

    System.out.println("\n相反顺序输出:"); for (int j = data.length - 1; j &gt;= 0; j--) System.out.print(data[j] + ","); } } ``` 总结来说,这些题目覆盖了Java中类的继承、方法的重写以及基本的数据处理...

    华为Java高级面试题:用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C4D…26Z

    HSDIS查看Java代码的汇编指令 java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssemble 使用 LockSupport.park()and unpark() public static void main(String[] args) { char[] aI = 1234567.toCharArray(); ...

    java程序设计题目.pdf

    7. 输入一串字符,直到输入一个星号为止,统计(输出)其中的字母个数和数字字符个数。 Java知识点:字符串处理、字符操作、循环语句 8. 计算斐波那契分数序列前n项之和。 Java知识点:斐波那契数列、循环语句、...

    java面试选择题

    - **解析**:在Java中,标识符可以由字母、数字、下划线`_`或美元符号`$`组成,并且必须以字母、下划线或美元符号开头。因此,`a1`、`$1`、`_1`都是合法的标识符。但是,数字不能作为标识符的第一个字符,所以`11`...

    广药java考试题目

    在Java中,可以在同一个类中定义多个同名的方法,这些方法可以通过不同的参数列表来区分,包括参数的数量、类型或者顺序。返回类型不是区分重载方法的标准。 **示例题目的选项解析:** - A. 隐藏(Hiding)通常指的...

    java练习题10.txt

    10. 简单的程序逻辑设计:练习题要求编写一个程序,该程序按照逻辑顺序执行,从提示用户输入到根据输入条件输出结果。 这些知识点共同构成了Java编程基础的组成部分,通过对这些知识点的学习和理解,可以更好地掌握...

    JAVA试题及答案(50道选择题)-java选择题及答案.pdf

    Java中的变量命名遵循一定的规范,变量名不能以数字开头,必须以字母、下划线或美元符号($)开始,后面可以跟字母、下划线或数字。A和C是错误的,B是正确的。Java中区分大小写,所以A和a被视为两个不同的变量,D也是...

    Java语言程序设计第二章结构化程序设计

    在Java语言中,标识符可以由字母、数字、下划线“_”和美元符号“$”组成,但其首字符不能是数字。此外,标识符是大小写敏感的,这意味着相同的字母组合但大小写不同将被视作不同的标识符。在实际编程中,需要避免...

    JAVA初学者必须的学习资料

    在Java中,标识符可以由字母、下划线或美元符号开始,后续可以跟随数字、字母、下划线或美元符号。区分大小写是Java中的一个关键规则,因此"thisone"和"Thisone"是两个不同的标识符。需要注意的是,关键字是Java...

    java笔记 java笔记

    异常处理是Java中的一个重要特性,用于处理程序运行过程中发生的错误情况。 - **异常基本概念**:异常是在程序执行过程中发生的问题。 - **捕获异常**:使用try-catch语句块来捕获异常。 - **处理异常**:可以抛出...

    山东大学java期末考试试题

    2. 合法的 Java 标识符可以包含字母、数字和下划线,但不能以数字开头。 Java 原始数据类型 1. 包装类 Double 不是 Java 的一种原始数据类型。 2. 浮点数可以精确的表示整数,比如浮点数 1.0 和整数 1 是等同的。 ...

    Java基础测试题 带答案

    - **解析**: 在Java中,子类的构造过程遵循一定的顺序:先初始化父类的属性,然后是父类的构造方法,接着是子类的属性,最后是子类的构造方法。因此,正确答案是 D: 2、3、1、4。 #### 7. 枚举类型的概念 - **知识...

Global site tag (gtag.js) - Google Analytics