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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 小石姐姐 于 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);





0 个回复

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