java按身高排序代码 java按大小排序

用JAVA编一个程序 输入10名同学的身高,找出最高升高,要求使用对象数组类型的带参方法来实现

封装类 Student如下:

成都创新互联专注于管城企业网站建设,响应式网站设计,商城网站建设。管城网站建设公司,为管城等地区提供建站服务。全流程定制网站设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

package help;

public class Student{

private Double height;

public Student(Double height) {

super();

this.height = height;

}

public Double getHeight() {

return height;

}

public void setHeight(Double height) {

this.height = height;

}

}

测试类

package help;

import java.util.Scanner;

public class TestStudent {

public static void main(String[] args){

Scanner sc=new Scanner(System.in);

Student[] stus=new Student[10];

/**

* 将输入的是个学生的身高实例化是个学生,并保存到Student对象数组中

*/

for(int i=1;i=10;i++){

System.out.println("输入学生第"+i+"的身高");

double h=sc.nextDouble();

Student s=new Student(h);

stus[i-1]=s;

}

Student maxHeightStu=new Student(stus[0].getHeight());//假设第一个学生的身高为最高学生最高

for(int i=1;istus.length;i++){

if(maxHeightStu.getHeight()stus[i].getHeight()){

maxHeightStu.setHeight(stus[i].getHeight());//当有学生的身高更高时,更新最高学生身高

}

}

System.out.println("最高学生的身高:"+maxHeightStu.getHeight());

//注:输入的学生身高仍在stus对象数组中保存。

}

}

java编程实现:输入班里10名学生的身高,获得身高最高的学生。要求使用对象数组类型带参方法来实现。

我的理解你想用一个方法直接实现的话建议方法可以这样设置

方法返回最高身高的那个学生在数组中的下标位置

然后直接从数组中获得同学对象,就可以实现你要求的功能了

public static void main() {

.....

int sub = getMaxHeight(stu);

System.out.println("第" + (sub+1) + "名学生身高最高,为" + stu[sub].getHeight());

}

public int getMaxHeight(Students[] stu) {

int sub = 0; // 最高学生在数组中的下标

int maxHeight = 0; // 当前最高身高

for (int i = 0; i stu.length; i++) {

Students s = stu[i];

if(s.getHeight() maxHeight) {

sub = i;

maxHeight = s.getHeight();

}

}

}

java,按照身高对学生进行排序,怎么编写?

import java.util.ArrayList;

import java.util.List;

import com.lili.task.TaskSchedulerException;

public class Student implements Comparable{

/**

* 测试

* @param args

* @throws TaskSchedulerException

*/

public static void main(String[] args) throws Exception {

Student [] ss = new Student[6];

ss[0] = new Student();

ss[0].setId("100");

ss[0].setName("张一");

ss[0].setStature(180.1f);

ss[1] = new Student();

ss[1].setId("200");

ss[1].setName("张三");

ss[1].setStature(170.0f);

ss[2] = new Student();

ss[2].setId("100");

ss[2].setName("张二");

ss[2].setStature(179.3f);

ss[3] = new Student();

ss[3].setId("300");

ss[3].setName("张三");

ss[3].setStature(190.1f);

ss[4] = new Student();

ss[4].setId("400");

ss[4].setName("张四");

ss[4].setStature(170.1f);

ss[5] = new Student();

ss[5].setId("500");

ss[5].setName("张五");

ss[5].setStature(168.1f);

System.out.println("--------排序前---------"+"\n"+java.util.Arrays.asList(ss).toString());

java.util.Arrays.sort(ss);

System.err.println("--------排序后---------"+"\n"+java.util.Arrays.asList(ss).toString());

}

//学号

private String id;

//姓名

private String name;

//身高

private float stature;

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public float getStature() {

return stature;

}

public void setStature(float stature) {

this.stature = stature;

}

/**

* 重写 对象比较大小方法

*/

public int compareTo(Object o) {

if(o instanceof Student){

if(o == null){

return 1;

}else{

float f = this.stature -((Student)o).getStature();

return (f0 ? 1 : f ==0 ? 0 : -1);

}

}

return 0;

}

public String toString() {

return "{ 学号:"+this.id+" , 姓名:"+this.name+" , 身高:"+this.stature+" }";

}

}


新闻标题:java按身高排序代码 java按大小排序
标题URL:http://scyanting.com/article/hipses.html