Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找到GPA最高的学生_Java_Arraylist - Fatal编程技术网

Java 找到GPA最高的学生

Java 找到GPA最高的学生,java,arraylist,Java,Arraylist,目前,我只能打印出最低GPA和最高GPA。这不是解决问题的最佳方法,但考虑到代码,并且没有对其进行大幅更改以满足问题描述,您只需在查找时存储最小和最大GPA的索引,并使用此索引访问每个ArrayList /* X number: X03524696 age: 25 First name: Joe Last name: Lin GPA: 1.6 */ publicstaticvoidmain(字符串[]args){ ArrayList Xnumber=新的ArrayList(); Xn

目前,我只能打印出最低GPA和最高GPA。

这不是解决问题的最佳方法,但考虑到代码,并且没有对其进行大幅更改以满足问题描述,您只需在查找时存储最小和最大GPA的索引,并使用此索引访问每个ArrayList

/*
 X number: X03524696
 age: 25
 First name: Joe
 Last name: Lin
 GPA: 1.6
*/
publicstaticvoidmain(字符串[]args){
ArrayList Xnumber=新的ArrayList();
Xnumber.添加(“X03024327”);
Xnumber.add(“X03124586”);
Xnumber.add(“X03324556”);
Xnumber.add(“X03424496”);
Xnumber.添加(“X03524696”);
ArrayList年龄=新建ArrayList();
增列(21);
增列(19);
增加(18岁);
增列(22);
增列(25岁);
ArrayList fname=新的ArrayList();
fname.添加(“Wei”);
fname.添加(“弗兰克”);
fname.添加(“Dave”);
fname.添加(“约翰”);
fname.添加(“Joe”);
ArrayList lname=新的ArrayList();
名称添加(“郭”);
名称。添加(“Dave”);
名称加上(“明”);
名称添加(“周”);
l名称加上(“林”);
ArrayList GPA=新的ArrayList();
GPA.add(3.60);
GPA.add(3.78);
GPA.add(3.20);
GPA.add(2.60);
GPA.add(1.60);

对于(inti=1;iIt就在
fname
lname
中。有什么问题吗?为什么不使用hashmap或treemap?将学生的所有数据包装在一个对象中;将它们放在一个列表中,按GPA对该列表进行排序,然后取第一个和最后一个并打印出来。您可以将学生对象放入列表中,然后使用自定义排序,您可以获得通过GPA获取数据,然后使用geeters,您可以获得firstname和lastname
/*
 X number: X03524696
 age: 25
 First name: Joe
 Last name: Lin
 GPA: 1.6
*/
public static void main (String[] args) {

ArrayList<String> Xnumber = new ArrayList<String>();
Xnumber.add("X03024327");
Xnumber.add("X03124586");
Xnumber.add("X03324556");
Xnumber.add("X03424496");
Xnumber.add("X03524696");


ArrayList<Integer> age = new ArrayList<Integer>();
age.add(21);
age.add(19);
age.add(18);
age.add(22);
age.add(25);



ArrayList<String> fname = new ArrayList<String>();
fname.add("Wei");
fname.add("Frank");
fname.add("Dave");
fname.add("John");
fname.add("Joe");


ArrayList<String> lname = new ArrayList<String>();
lname.add("Guo");
lname.add("Dave");
lname.add("Ming");
lname.add("Chow");
lname.add("Lin");


ArrayList<Double> GPA = new ArrayList<Double>();
GPA.add(3.60);
GPA.add(3.78);
GPA.add(3.20);
GPA.add(2.60);
GPA.add(1.60);


for(int i=1; i<5; i++) {
System.out.println("X number: " + Xnumber.get(i) + "\n" + "age: " + age.get(i)+"\n"+"First name: " + fname.get(i)+"\n"+"Last name: " + lname.get(i) +"\n"+"GPA: " + GPA.get(i));
System.out.println();

}

int minIndex = 0;
int maxIndex = 0;
for(int a=0; a<GPA.size();a++) {
    double number = GPA.get(a);
    if(number < min){
      minIndex = a;
    }
    if(number > max){
     maxIndex = a;
    }

}
System.out.println("min = " + min );
System.out.println("max = " + max);

//Get information using minIndex
fname.get(minIndex);
lname.get(minIndex);
age.get(minIndex);
gpa.get(minIndex);

//Repeat with max index
fname.get(maxIndex);
lname.get(maxIndex);
age.get(maxIndex);
gpa.get(maxIndex);
}