就业班day01-day02 异常一创建人 | | | | | | | 编译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--; |
|
|