要求可以根据每个学生的成绩进行由高到低的排序如果成绩相等则按照年龄由低到高排序数据的样式如下张三:19:90|李四:20:90|王五:20:80|赵六:21:100
2017-08-09 12:56
931 查看
要求可以根据每个学生的成绩进行由高到低的排序如果成绩相等则按照年龄由低到高排序
数据的样式如下张三:19:90|李四:20:90|王五:20:80|赵六:21:100
import java.util.Arrays;
public class Test03_Student {
/**
* 要求可以根据每个学生的成绩进行由高到低的排序
* 如果成绩相等
* 则按照年龄由低到高排序
* 数据的样式如下
* 张三:19:90|李四:20:90|王五:20:80|赵六:21:100
*/
public static void main(String[] args) {
String a="A";
String b="B";
mb_operate(a,b);
System.out.println(a+"."+b);
// TODO Auto-generated method stub
String content = "张三:19:90#李四:20:90#王五:20:80#赵六:21:100";
String[] ss = content.split("#");
Student[] stus = new Student[ss.length];
for (int i = 0; i < ss.length; i++) {
String[] temp = ss[i].split(":");
stus[i] = new Student(temp[0],Integer.valueOf(temp[1]), Integer.valueOf(temp[2]));
}
//排序
Arrays.sort(stus);
for (Student student : stus) {
System.out.println(student);
}
}
public static void mb_operate(String x,String y)
{
x.concat(y);
y=x;
}
}
class Student implements Comparable<Student>{
private String name;
private int age;
private int score;
public Student() {
}
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + ", score=" + score + "]";
}
@Override
public int compareTo(Student o) {
if(this.getScore() > o.getScore()){
return 1;
}else if(this.getScore() < o.getScore()){
return -1;
}else{
if(this.getAge() > o.getAge()){
return 1;
}else if(this.getAge() < o.getAge()){
return -1;
}
return 0;
}
}
}
数据的样式如下张三:19:90|李四:20:90|王五:20:80|赵六:21:100
import java.util.Arrays;
public class Test03_Student {
/**
* 要求可以根据每个学生的成绩进行由高到低的排序
* 如果成绩相等
* 则按照年龄由低到高排序
* 数据的样式如下
* 张三:19:90|李四:20:90|王五:20:80|赵六:21:100
*/
public static void main(String[] args) {
String a="A";
String b="B";
mb_operate(a,b);
System.out.println(a+"."+b);
// TODO Auto-generated method stub
String content = "张三:19:90#李四:20:90#王五:20:80#赵六:21:100";
String[] ss = content.split("#");
Student[] stus = new Student[ss.length];
for (int i = 0; i < ss.length; i++) {
String[] temp = ss[i].split(":");
stus[i] = new Student(temp[0],Integer.valueOf(temp[1]), Integer.valueOf(temp[2]));
}
//排序
Arrays.sort(stus);
for (Student student : stus) {
System.out.println(student);
}
}
public static void mb_operate(String x,String y)
{
x.concat(y);
y=x;
}
}
class Student implements Comparable<Student>{
private String name;
private int age;
private int score;
public Student() {
}
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public String toString() {
return "Student [name=" + name + ", age=" + age + ", score=" + score + "]";
}
@Override
public int compareTo(Student o) {
if(this.getScore() > o.getScore()){
return 1;
}else if(this.getScore() < o.getScore()){
return -1;
}else{
if(this.getAge() > o.getAge()){
return 1;
}else if(this.getAge() < o.getAge()){
return -1;
}
return 0;
}
}
}
相关文章推荐
- 有一个Map集合里面存储的是学生的姓名和年龄,内容如下{赵四=21,王二=17,张三=18,小丫=25,李四=26,王五=38}(15分) * a.将里面的元素用两种遍历方式打印到控制台上 *
- 1.给出一个Person类里面包含姓名、年龄、成绩,声明5个Person对象数组,要求对数组中的内容进行排序,排序规则如下:按成绩由高到低排序,如果成绩一样,按年龄由高到低排序。
- 1061 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序,并输出N个学生排序后的信息。
- 编写程序:建立一个学生数据链表,每个节点的信息包括如下内容:学号,姓名,性别年龄专业。对链表做如下处理。输入一个学号(专业),如果链表中的节点包含此学号(专业),则删去该结点。
- 已知一个几乎有序的数组,几乎有序是指,如果把数组排好顺序的话,每个元素移动的距离可以不超过k,并且k相对于数组来说比较小。请选择一个合适的排序算法针对这个数据进行排序。 给定一个int数组A,同时给定
- 从键盘上输入以下的数据:"TOM:89|JERRY:90|TONY:95",数据格式为“姓名:成绩|姓名:成绩|姓名:成绩”,对输入的内容按成绩进行排序,并将结果按成绩由高到低排序。
- 有10个学生,每个学生的数据包括学号,姓名,3门课的成绩。对其进行处理
- Java 往TreeSet集合中存储自定义对象学生,按照学生的年龄进行排序。
- 输入百分制成绩,要求输出成绩的等级A(100~90),B(89~80),C(79~70),D(69~60),E(59~0)
- 用C语言编写一个双链表,每个结点存储学生的编号以及姓名,遍历这个双链表,并将学号按照从小到大进行排序
- 从键盘上输入以下的数据:"TOM:89|JERRY:90|TONY:95",数据格式为“姓名:成绩|姓名:成绩|姓名:成绩”,对输入的内容按成绩进行排序,并将结果按成绩由高到低排序。
- 算法:编写程序,根据输入的学生成绩,给出相应的等级,90~100为A
- OC字典存入数组,输出数组中数据,并且删除小明一项,然后进行排序、现根据班级排序,班级相同的用年龄进行排序
- 对学生成绩进行评定:小于60为"E",60~69为"D",70~79为"C",80~89为"b",90以上为"A"
- 从键盘上输入以下的数据:"TOM:89|JERRY:90|TONY:95",数据格式为“姓名:成绩|姓名:成绩|姓名:成绩”,对输入的内容按成绩进行排序,并将结果按成绩由高到低排序。
- 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,如果
- 随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999)。对数组进行排序,要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数放入数组b中,如果
- 编写一个存储过程,根据学号、课程号 按成绩的20%进行加分,如果增加后的分数大于100,则取消加分。同时在存储过程中返回增加后的成绩。
- 从键盘上输入以下的数据:"TOM:89|JERRY:90|TONY:95",数据格式为“姓名:成绩|姓名:成绩|姓名:成绩”,对输入的内容按成绩进行排序,并将结果按成绩由高到低排序。
- 有一个班4个学生5门课成绩,要求编程实现把这四个学生的成绩按照第一门课由小到大排序(冒泡法)。