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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tianguolei 初级黑马   /  2019-1-8 16:43  /  87 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小石姐姐 于 2019-1-10 09:27 编辑

                                                                                  错题整理
异常一
创建人        田国雷
问题标题        对于Date工具类理解偏差
问题分类        编译报错
一级话题        阅读代码,说法错误的是? ()
[Java] 纯文本查看 复制代码
import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class SimpleDateFormatTest {
    public static void main(String[] args) throws ParseException {
        String str = "2018-04-11";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd");
        // 将字符串转换成日期对象
        Date date = sdf.format(str);
        System.out.println(date);
    }
}

错误答案 A Date导包错误, 正确答案是:代码可以编译执行

问题补充        
附件                        }
               
        }
}
问题答案        问题分析:
粗心没读懂体义
        问题解决方法:
修改代码:



异常二
创建人        田国雷
问题标题        审题不清
问题分类        无法满足所有条件
一级话题      
[Java] 纯文本查看 复制代码
for (Employee employee : list) {
      if(employee.getAge()%2==0){
          System.out.println(employee+"获得了普通大礼包");
      }else{
          System.out.println(employee+"获得了缘分大礼包");
      }
}


问题补充         无法满足所有的条件运行出问题
附件                        }
               
        }
}
问题答案        问题分析:
获得每个相同员工的个数,然后再判断发放红包
      
[Java] 纯文本查看 复制代码
  for (Employee employee : list) {

      int count=getCount(list, employee);
      if(count!=1){
          System.out.println(employee+"获得了缘分大礼包");
      } else{
          System.out.println(employee+"获得了普通大礼包");
      }
}
public static int getCount(List<Employee> list,Employee ee){
         int count=0;

    for (Employee ee1 : list){
          if(ee.equals(ee1)){
              count++;
          }
    }
    return count;

}


异常三
创建人        田国雷
问题标题        ArrayIndexOutOfBoundsException:
问题分类        运行时异常
一级话题      

[Java] 纯文本查看 复制代码
String[] arr = {"123321", "121", "2442", "123123"};
for (int i = 1; i <=arr.length; i++) {
      if(arr.equals(new StringBuilder(arr).reverse())){
          System.out.println(arr+"是回文字符串");
      }else{
          System.out.println(arr+"不是回文字符串");
      }
}


问题补充        忽略数组下标问题
附件                        }
               
        }
}
问题答案        问题分析: 正确运用数字遍历
      
[Java] 纯文本查看 复制代码
  String[] arr = {"123321", "121", "2442", "123123"};
for (int i = 0; i < arr.length; i++) {
      if(arr.equals(new StringBuilder(arr).reverse())){
          System.out.println(arr+"是回文字符串");
      }else{
          System.out.println(arr+"不是回文字符串");
      }
}
分享至 : QQ空间
收藏

0 个回复

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