传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© @划水划水.. 初级黑马   /  2019-1-8 17:18  /  90 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

编程阶段_异常汇总Java编程异常一
创建人
先生
问题标题
编译代码错误
问题分类
编译代码发生错误
一级话题
集合名称定义错误ArrayList<Integer> , 代码错误 应为ArrayList<String>
                          
问题补充
附件
public class Test01 {
    public static void main(String[] args) {
        // 定义集合,并存储元素
        ArrayList<String> list = new ArrayList<String>();
        list.add("aaa");
        list.add("bbb");
        list.add("aaa");
        list.add("aaa");
        list.add("ccc");
        list.add("ddd");
        // 直接打印对象,由于重写了toString(),显示集合中的元素
        System.out.println(list);
    }
}
问题答案
问题分析:
第一行报错,检查发现为ArrayList<Integer>,但是值为String
检查发现两者应为一致;
问题解决
集合名称定义错误ArrayList<Integer> , 代码错误 应为ArrayList<String>
异常二
创建人
先生
问题标题
编译问题
问题分类
编译代码发生错误
一级话题
迭代器错误 Iterator<Integer> 应修改为Iterator<String>
问题补充
附件
       
public class Test02 {
    public static void main(String[] args) {
        // 创建集合对象
        ArrayList<String> list = new ArrayList<>();
        // 添加元素
        list.add("hehe");
        list.add("haha");
        list.add("heihei");
        list.add("gege");
        list.add("gaga");
        // 遍历集合
        // 方式:迭代器
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            String value = it.next();
            System.out.println(value);
        }
    }
}
问题答案
问题分析:
.报错,检查发现为Iterator<Integer>,代码错误修改为 Iterator<String>
检查发现两者不同;
问题解决方法:
修改Iterator<Integer> Iterator<String>
异常三
创建人
先生
问题标题
编译错误问题
问题分类
编译代码错误问题
一级话题
编译错误 if (s.size() < 5 || s.szie() > 10) 检查修改为 if (s.length() < 5 || s.length() > 10)
问题补充
附件
import java.util.ArrayList;
import java.util.Iterator;
public class Test04 {
    public static void main(String[] args) {
        // 创建集合
        ArrayList<String> list = new ArrayList<>();
        // 添加元素
        list.add("123");
        list.add("1234");
        list.add("12345");
        list.add("123456");
        list.add("654123");
        list.add("56789123");
        list.add("1112222333444");
        list.add("555555");
        // 遍历获取每个元素
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            String s = it.next();
                        // 判断长度
            if (s.length() < 5 || s.length() > 10) {
                                // 删除非法数据
                it.remove(); // 注意,此处必须调用迭代器的remove方法,不能使用list.remove()方法
            }
        }
        // 遍历结果
        for (String s: list) {
            System.out.println(s);
        }
    }
}
问题答案
问题分析:
检查发现代码错误,修改并测试
问题解决方法:
if (s.size() < 5 || s.szie() > 10) 检查修改为 if (s.length() < 5 || s.length() > 10)

分享至 : QQ空间
收藏

0 个回复

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