黑马程序员技术交流社区

标题: [石家庄校区]错题总结 [打印本页]

作者: 张润泽    时间: 2019-2-21 16:20
标题: [石家庄校区]错题总结
异常一
创建
张润泽
问题标题
逻辑判断错误
问题补充
附件
String s1 = sc.next();
Set<Map.Entry<String, String>> entrySet = map.entrySet();
if (map.containsValue(s1)) {
System.out.println(s1 + "巴西获得世界杯的年份是:");
for (Map.Entry<String, String> stringEntry : entrySet) {
if (stringEntry.getValue().equals(s1)) {
System.out.println(stringEntry.getKey());
} else {
System.out.println(s1 + "没有获得过世界杯冠军");
[size=9.5000pt]}
问题答案
错题原因: 逻辑判断错误,思路没有分析对. else应该和if (map.containsValue(s1))是一对.如果没有这个元素就输出没有获得过世界杯冠军.
多个判断嵌套,掌握的不好,思路还是不清晰.
String s1 = sc.next();
Set<Map.Entry<String, String>> entrySet = map.entrySet();
if (map.containsValue(s1)) {
System.out.println(s1 + "巴西获得世界杯的年份是:");
for (Map.Entry<String, String> stringEntry : entrySet) {
if (stringEntry.getValue().equals(s1)) {
System.out.println(stringEntry.getKey());
[size=9.5000pt]}
[size=9.5000pt]}
} else {
System.out.println(s1 + "没有获得过世界杯冠军");
[size=9.5000pt]}



异常二
创建
张润泽
问题标题
运行错误
问题分类
要求删除所有的java
一级话题
问题补充
附件
ArrayList<String>  list = new ArrayList<>( );
list.add(“aaa”);
list.add(“java”);
list.add(“java”);
list.add(“javaja”);
list.add(“bbb”);
for(int i = 0;i < list.size();i++) {
If (“java”.equlas(list.get(i))) {
    List.remove(i);
}
}
问题答案
问题分析:
对集合的属性不熟悉,删除后索引会改变
解决方法:
for(int i = list.size() - 1;i >= 0 ;i--) {
If (list.get(i).contains(“java”)) {
    List.remove(i);
}
}



异常三
创建
张润泽
问题标题
逻辑性问题
问题分类
一级话题
问题补充
附件
<img src="../img/on.gif" id="light">

<script>
    var light = document.getElementById("light");
    var flag = true;
    light.onclick = function () {
        if (flag) {
            light.src = "../img/on.gif";
            flag = true;
        } else {
            light.src = "../img/off.gif";
            flag = false;
        }
    }

</script>
问题答案
if判断为ture的时候,图片应改为img.off.gif.状态更改为false
<img src="../img/on.gif" id="light">

<script>
    var light = document.getElementById("light");
    var flag = true;
    light.onclick = function () {
        if (flag) {
            light.src = "../img/off.gif";
            flag = false;
        } else {
            light.src = "../img/on.gif";
            flag = true;
        }
    }

</script>



异常四
创建
张润泽
问题标题
运行问题
问题分类
Equals==
一级话题
问题补充
附件
public class Test09 {
    public static void main(String[] args) throws IOException {
        Properties prop = new Properties();
        prop.load(new FileInputStream("score.txt"));
        Set<String> set = prop.stringPropertyNames();
        for (String key : set) {
            if (key =="lisi") {
                prop.setProperty(key,"100");
            }
        }
        prop.store(new FileOutputStream("score.txt")," ");
    }
}
问题答案
问题分析:
==比较的是地址值
问题解决方法:
public class Test09 {
    public static void main(String[] args) throws IOException {
        Properties prop = new Properties();
        prop.load(new FileInputStream("score.txt"));
        Set<String> set = prop.stringPropertyNames();
        for (String key : set) {
            if (key.equals("lisi")) {
                prop.setProperty(key,"100");
            }
        }
        prop.store(new FileOutputStream("score.txt")," ");
    }
}




异常五
创建
张润泽
问题标题
问题分类
一级话题
问题补充
附件
ArrayList<String> list = new ArrayList<>();
list.add("123");
list.add("12345");
list.add("654123");
list.add("456789123");
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) {
        list.remove(i);
    }
}
问题答案
问题分析:
迭代器不能使用集合的删除方法
问题解决方法:
ArrayList<String> list = new ArrayList<>();
list.add("123");
list.add("12345");
list.add("654123");
list.add("456789123");
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();
    }
}






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