黑马程序员技术交流社区

标题: [石家庄]就业班day01-day02 [打印本页]

作者: 凉笙墨染    时间: 2019-1-8 16:54
标题: [石家庄]就业班day01-day02

就业班day01-day02

异常一
创建人
兰志伟
问题标题
编译错误
问题分类
编译if语句出现错误,找不到值,
一级话题
编译if语句的时候,定义了一个变量,出现一个错误,输出变量的时候值,只定义了变量的类型,
问题补充
附件
int temp;
int max=0;
double sum=0.0;
int a = list.get(0).getScore();
for (int i1 = 1; i1 < list.size(); i1++) {
    if (a < list.get(i1).getScore()) {
        a = list.get(i1).getScore();
        max = i1;
    }
}
for (int i=1;i<list.size();i++){

    if (a>list.get(i).getScore()){
        a=list.get(i).getScore();
        temp=i;
}
Sout(list.get(temp)这会报错找不到值,
       ^
问题答案
问题分析:
当你编译完成,会报错,因为if判断的时候如果你不给他一个初始值,他就是null,然而你listget不能索引null,所以报错
问题解决方法:
修改代码第一行给他赋一个初始值
Int temp=0;
异常二
创建人
兰志伟
问题标题
结果问题
问题分类
与实现结果不符
一级话题
运行之后偶然与问题结果对着,但是在已修改传入的就不对了
问题补充
附件

import java.util.ArrayList;
public class Demos07 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
list.add("音乐");list.add("旅游");list.add("看书");
list.add("跑步");list.add("音乐");list.add("音乐");list.add("旅游");
        list.add("游泳");
        for (int i = 0; i < list.size(); i++) {
            int a=0;
            for (int i1 = 0; i1 < list.size(); i1++) {
                if (list.get(i).equals(list.get(i1))){
                    a++;
                }
            }
            if (a!=1){
                list.remove(i);
            }
        }
        for (String str: list){
            System.out.print(str+" ");
        }
    }
}
问题答案
问题分析:
但运行之后这次与结果一样,虽然一样,但是我考虑后发现如果你一次重复好几次运行之后发现不能删除只剩一个,,绝对会剩两个,
问题解决方法:
修改代码第6行为:
在remove删除后加一个i--语句,因为会上位所以要在减回去开始判断
i--;







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