本帖最后由 小石姐姐 于 2019-1-10 11:17 编辑
Java编程基础(第1天)
异常一
问题标题:格式错误
问题分类:ArrayList添加元素
[Java] 纯文本查看 复制代码 ArrayList<Long>list = new ArrayList<>();
list.add(123L);
list.add(1234L);
list.add(12345L);
list.add(654123L);
list.add(456789123L);
list.add(1112222333444); 问题分析: 数据默认int型,一旦超出int范围报错。将数据给Long型不超int范围不报错, 超出之后需要在数据后加L。 问题解决方案: list.add(1112222333444L); 异常二 问题标题:运行错误
问题分类:For循环选最大最小值
问题补充:我定义的maxi是为了获取集合中最大数的索引值,mini同上。
[Java] 纯文本查看 复制代码 ArrayList<Integer>list=new ArrayList();
Int max=0,maxi=0;
for (int i = 0; i < list.size();i++) {
if (list.get(i)>max){
maxi=i;
}else if (list.get(i)<min){
min=i;
}
sum+=list.get(i);
} 问题分析: 意图太直接,只为获得最大最小值的索引值,忘记了将最大值最小值赋值给max和min,以此类推的会的最大最小值。导致最大值最小一直停留在 变量初始化数值。 问题解决方法: 修改代码 [Java] 纯文本查看 复制代码 for (int i = 0; i < list.size();i++) {
if (list.get(i)>max){
maxi=i;
max=list.get(i);
}else if (list.get(i)<min){
min=i;
min=list.get(i);
}
sum+=list.get(i);
}
异常三
问题标题:运行错误
问题分类:ArrayList删除元素
[Java] 纯文本查看 复制代码 ArrayList< String>list=new ArrayList();
list.add("音乐");//0
list.add("旅游");//1
list.add("看书");//2
list.add("跑步");//3
list.add("音乐");//4
list.add("音乐");//5
list.add("旅游");//6
list.add("游泳");//7
list.add("游泳");//7
for (int i = 0; i < list.size();i++) {
for (int j = i+1; j < list.size(); j++) {
if (list.get(i)==list.get(j)){
list.remove(j);
}
}
}
System.out.println(list);
问题分析: [ 输出结果不正确, 忘记了删除元素之后将索引值返回。 问题解决方法: 修改代码 [Java] 纯文本查看 复制代码 for (int i = 0; i < list.size();i++) {
for (int j = i+1; j < list.size(); j++) {
if (list.get(i)==list.get(j)){
list.remove(j);
j--;
}
}
}
System.out.println(list);
|