首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找到GPA最高的学生

找到GPA最高的学生
EN

Stack Overflow用户
提问于 2017-09-20 11:42:30
回答 1查看 1.8K关注 0票数 0
代码语言:javascript
复制
import java.util.ArrayList;
import java.util.List;

public class SjuStudent {

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();

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

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

因此,我正在制作一个包含5个学生成绩的列表。我想知道怎样才能打印出GPA最低的学生和GPA最高的学生以及学生信息。沿着这些线看一些东西。

代码语言:javascript
复制
/*
 X number: X03524696
 age: 25
 First name: Joe
 Last name: Lin
 GPA: 1.6
*/

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

EN

回答 1

Stack Overflow用户

发布于 2017-09-20 11:58:33

这不是解决问题的最好方法,但是给出代码,并且不大幅更改它来满足问题描述,您可以简单地存储找到它们时的最低和最高GPA的索引,并使用此索引访问每个ArrayList。

代码语言:javascript
复制
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);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46312918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档