A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 2019-1-10 11:09 编辑

[石家庄校区] 关于对象调用

创建
曹姚姚
问题标题
集合
[Java] 纯文本查看 复制代码
import java.util.*;[/align]
public class Ceshistudent {
    public static void main(String[] args) {
        ArrayList<Student> co=new ArrayList<>();
        for (int i =1; i <= 5; i++) {
            Scanner sc=new Scanner(System.in);
            System.out.println("请输入第"+i+"个学员信息:");
            String a=sc.next();
            System.out.println("请输入成绩:");
            int b=sc.nextInt();
            Student s1=new Student(a,b);
            co.add(s1);
        }
        Student max=co.get(0);
        Student min=co.get(0);
        int z=0;
        for (int i = 0; i < co.size(); i++) {
            if (co.get(i).getChengji()>max.getChengji()){
                max=co.get(i);
            }
            if (co.get(i)<min){
                min=co.get(i);
            }
           z=z+=co.get(i).getChengji();
        }
       double p=z/co.size();
        System.out.println("成绩最高的学员是:"+max.getName()+"成绩为"+max.getChengji()+"分");
        System.out.println("成绩最低的学员是:"+min.getName()+"成绩为"+min.getChengji()+"分");
        System.out.println("平均分:"+p);
}
}
问题分类
编译出错。
一级话题
Error:(35, 26) java: 二元运算符 '<' 的操作数类型错误
  第一个类型:  dierdati.Student
  第二个类型: dierdati.Student
2 个错误
问题补充
附件
if (co.get(i)<min)
问题答案
问题分析:
观察报错行,发现类型不统一,是非法的。
问题解决方法:
修改代码:
if (co.get(i).getChengji()<min.getChengji()){
    min=co.get(i);


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马