你好,我的提问是结果要输出分数最高的和分数第二高的学生...谢谢...
追答这个是做了排序,按从大到小,,,那么你取前两个就行了,,,,其他的方法也是硬代码死判断....那我再给你写个.
你把main替换下:
public static void main(String... _) {
Scanner in = new Scanner(System.in);
System.out.print("输入学生个数:");
int num = in.nextInt();
List data = new ArrayList();
for (int i = 0; i < num; i++) {
Bean bean = new Bean();
System.out.print("输入第" + (i + 1) + "个学生的姓名:");
String name = in.next();
System.out.print("输入第" + (i + 1) + "个学生的分数:");
double fen = in.nextDouble();
bean.setName(name);
bean.setFen(fen);
data.add(bean);
}
double max0 = Double.MIN_VALUE;
double max1 = Double.MIN_VALUE;
for (int i = 0; i < data.size(); i++) {
Bean bean = (Bean) data.get(i);
max0 = Math.max(bean.getFen(), max0);
}
for (int i = 0; i < data.size(); i++) {
Bean bean = (Bean) data.get(i);
if (max0 != bean.getFen()) {
max1 = Math.max(bean.getFen(), max1);
}
}
System.out.println("最高分:" + max0);
System.out.println("二高分:" + max1);
}
你好,我的提问是结果要输出分数最高的和分数第二高的学生,要比较大小的,并不是返回所有的学生和分数...谢谢...
追答import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class test{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入学生数");
int s=sc.nextInt();
int[] a=new int[s];
System.out.println("请输入学生成绩以逗号隔开");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try {
String str=br.readLine();
String[] s1=str.split(",");
for(int i=0;imax){
max=a[j];
}
if(a[j]<min){
min=a[j];
}
sum+=a[j];
}
System.out.println("最高分数:"+max);
System.out.println("最低数"+min);
System.out.println("平均分数:"+sum/s);
}
}