黑马程序员技术交流社区

标题: 【石家庄校区】基础进阶 [打印本页]

作者: Leif-    时间: 2019-1-8 17:10
标题: 【石家庄校区】基础进阶
本帖最后由 小石姐姐 于 2019-1-10 10:53 编辑

基础阶段_异常汇总




异常一



创建人
李子佳
问题标题
toString重写错误
问题分类
运行出来显示格式不对
一级话题
@Override
[Java] 纯文本查看 复制代码
public String toString() {
    return "Student{" + "name='" + name + '\'' +
            ", number=" + number + ", age=" + age + '}';
}
问题补充
附件
//显示格式为这个格式
@Override
[Java] 纯文本查看 复制代码
public String toString() {
    return "姓名:" + name + ", 学号:" + number + ", 年龄:" + age;
}
问题答案
问题分析:
重写toString方法是,toString方法内容可以改变输出格式
问题解决方法:
修改return后面的格式
[Java] 纯文本查看 复制代码
return "姓名:" + name + ", 学号:" + number + ", 年龄:" + age;

异常二
创建人
李子佳
问题标题
运行报错
问题分类
ArrayList<Integer>集合里拿出的元素要用Integer类型接收
一级话题
运行报错
问题补充
附件
[Java] 纯文本查看 复制代码
ArrayList<Integer> list = new ArrayList<>();
.......
Integer max = list.get(0);
Integer small = list.get(0);
for (int i = 1; i < list.size(); i++) {
    if (max < list.get(i)) {
        max = list.get(i);
    }
    if (small > list.get(i)) {
        small = list.get(i);
    }
}
......
问题答案
问题分析:
代码中第15行报错
问题解决方法:
修改代码第15行为:
[Java] 纯文本查看 复制代码
Integer max = list.get(0);
Integer small = list.get(0);
异常三
创建人
李子佳
问题标题
运行问题
问题分类
加入集合的5个对象为相同值
一级话题
问题补充
附件
[Java] 纯文本查看 复制代码
ArrayList<Student> list = new ArrayList();
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
    Student stu = new Student();
    System.out.println("请输入第" + (i + 1) + "个学员信息:");
    System.out.println("请输入姓名:");
    stu.setName(sc.next());
    System.out.println("请输入成绩:");
    stu.setScore(sc.nextInt());
    list.add(stu);
}
System.out.println(list);
问题答案
问题分析:
运行完成输出集合以后,集合内添加了5个内容相同的对象
问题解决方法:
Student stu = new Student();语句放入for循环内部,这样每次循环都会是一个新的对象







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2