java根据学生总分按顺序排名,怎么调用排序?无法应用。求大神修改!

public class Student{
String name,number;
double s1,s2,s3,sum;
public Student(String n,String no,double x1,double x2,double x3)
{ name=n;
number=no;
s1=x1;
s2=x2;
s3=x3;
sum=s1+s2+s3;
}
public static void paixu(Student v[])
{ for(int i=0;i<a.length-1;i++)
{Student t=new Student();
for(int j=i+1;j<a.length;j++)
if(v[i].sum<v[j].sum)
{t=v[i];
v[i]=v[j];
v[j]=t;
}
}
}
void print()
{System.out.println(name+" "+number+" "+s1+" "+s2+" "+s3);
}
public static void main(String args[])
{
Student s[]=new Student[5];
s[0]=new Student("Zhangsan","20140001",89,87,90);
s[1]=new Student("Lisi","20140002",88,87,90);
s[2]=new Student("Wangwu","20140003",89,80,90);
s[3]=new Student("Zhaohong","20140004",89,87,78);
s[4]=new Student("Gaozi","20140005",81,87,90);

s[0].paixu();

}

}

第1个回答  推荐于2016-07-05
import java.util.Arrays;

public class Student {

String name,number;
double s1,s2,s3,sum;
//student方法,返回值为一个学生3门课程分数之和
public double Student(String n,String no,double x1,double x2,double x3){
name=n;
number=no;
s1=x1;
s2=x2;
s3=x3;
return s1+s2+s3;
}
//main方法
public static void main(String args[]){
Student stu=new Student();//实例化对象
double[] s=new double[5];
//调用stu方法,将分数和给一个double数组
s[0]=stu.Student("Zhangsan","20140001",89,87,90);
s[1]=stu.Student("Lisi","20140002",88,87,90);
s[2]=stu.Student("Wangwu","20140003",89,80,90);
s[3]=stu.Student("Zhaohong","20140004",89,87,78);
s[4]=stu.Student("Gaozi","20140005",81,87,90);
Arrays.sort(s);//排序方法,从小到大
for(int i=0;i<5;i++){
System.out.println(s[i]);
}
}

}

*******************************************
有注释,应该能看懂追问

可是如果想用原先的排序法 该怎么调用

本回答被提问者采纳

应该怎样学习JAVA?顺序是什么?
第一部分:JavaSE:Java语言最基本的一套库 学习JavaEE或JavaME之前,JavaSE是必学的。Java开发环境搭建 Java基础语法 面向对象 数组 异常 集合 线程 IO流 反射机制 注解Annotation 网络编程 第二部分:数据库 【MySQL + JDBC】只要学习编程,数据库是一定要学习的,是一门公共的学科。java、C、python...

java初级面试题目?
8.j2ee平台与dotnet平台的区别9.ejb的lifecycle10.sessionbean和entitybean的区别11.ejb中的transaction机制12.synchronized(生产者和消费)13.String和StringBuffer14.Serializable15.MVC(Struts的工作流程)16.什么是MDA17.tcp与

请问用java做学生宿舍管理系统的优势有哪些 相对c语言之类的 毕业设 ...
1 Java可以很简单的结合JS或其他方式实现BS模式访问的好看界面。而C如果要实现界面,或者要实现BS访问,则非常非常困难。至少对一个在校学生来说这几乎很难完成。2学生管理系统自然少不了数据库。JAVA的JDBC非常成熟,可以很简便的访问数据库。C访问数据库的库相对复杂,而且风格各异,需要一段时间学习和...

这里有几道java题,求大神帮忙解答下好吗?非常感谢!
1、构造函数当你在需要实例化类的时候可以调用 2、自定义类不能被其他包中直接访问,可以通过设置这个类的访问范围,然后再在其他包中的类中定义出这个类 3、包导入使用这个不需要解释,很简单,就是你用到哪个类,就需要将那个导入的类所在的包路径导入 4、接口关键字:implements 5、抛出异常可以两...

如何从零开始学习Java?
线下培训:1、学生的自觉性。对于缺乏学习自觉性的同学,不得不选择花比在线教育更多的金钱选择线下培训。因为老师可以起到监督作用。2、感情的互动。人是社交动物,所以需要通过社交去和其他人建立信任,从而建立感情,有了这个基础,学生就比较容易对老师的要求做到言听计从。这方面,目前在线教育确实也...

java中 List 与Set 的区别
它的有些实现类能对集合中的键对象进行排序。Set、List和Map统称为Java集合。1.Set(集)Set集合中的对象不按特定方式排序,并且没有重复对象。Set接口主要有两个实现类HashSet和TreeSet。HashSet类按照哈希算法来存取集合中的对象,存取速度比较快。HashSet类还有一个子类LinkedHashSet类,它不仅实现了哈希算法,而且...

java怎么修改Set里的值
1.不能保证元素的排列顺序,顺序可能变化 2.HashSet不是同步的,多个线程同时访问一个Set集合,必须用代码 保证同步 3.集合元素值可以是null 当向HashSet集合中存入一个元素,HashSet会调用该对象的HashCode()得到对象的hashCode,根据HashCode来决定对象在HashSet中的位置 如果两个元素equal方法比较返回...

java初学者,应该如何学习java呢?
按Java的应用场景来分有三类:J2SE,J2ME和J2EE,这也就是SunONE(Open NetEnvironment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入式系统开发,如手机和PDA 的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站,OA系统和ERP系统。接着是局部-...

高级语言排行
排名第一的Java仍然是具有独孤求败的势头,Java继续统治着程序员最常用的语言列表。以致于我们观察榜单上面的数据,可以发现,Java这一年在GitHub中共获得230万pull request,竟然是第二名的编程语言Python的两倍有余。8、PHP PHP语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域...

应用javascript做输入年月日,计算出星期几。
选择排序包含shaker排序和堆排序(heapsort)。 当相等的元素是无法分辨的,比如像是整数,稳定度并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。 (4, 1) (3, 1) (3, 7) (5, 6) 在这个状况下,有可能产生两种不同的结果,一个是依照相等的键值维持相对的次序,而另外一个则没有: (3...

相似回答