封装类 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对象数组中保存。
}
}
我的理解你想用一个方法直接实现的话建议方法可以这样设置
方法返回最高身高的那个学生在数组中的下标位置
然后直接从数组中获得同学对象,就可以实现你要求的功能了
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();
}
}
}
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+" }";
}
}