黑马程序员技术交流社区

标题: 【石家庄校区】代码编译问题总结 [打印本页]

作者: Aaron-java    时间: 2019-1-8 17:17
标题: 【石家庄校区】代码编译问题总结
本帖最后由 小石姐姐 于 2019-1-10 11:21 编辑

Java编程基础(第3天)

异常一
  
创建人
  
张雪飞
  
问题标题
  
格式错误
  
问题分类
  
传入参数的格式错误
  
一级话题
  
[Java] 纯文本查看 复制代码
Exception  in thread "main" java.lang.IllegalArgumentException: Illegal  pattern character 'x'
           at  java.base/java.text.SimpleDateFormat.compile(SimpleDateFormat.java:844)  
           at  java.base/java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:652)
           at  java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:623)  
           at java.base/java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:598)
           at zuoye2.Demo2.medth(Demo2.java:29)  
           at zuoye2.Demo2.main(Demo2.java:13)
  
问题补充
  
  
  
附件
  
[Java] 纯文本查看 复制代码
switch(i){
              case 1:  
                medth ("xxxx年xx月xx日");
                  break;  
            case 2:
                  medth ("yyyy-MM-dd");  
                break;
              case 3:  
                medth  ("yyyy/MM/dd");
                  break;
  
问题答案
  
问题分析:
  
SimpleDateFormat()里传入的参数年月日应该为yyyyMMdd,代码里写成了XXXX导致报错
   
问题解决方法:
  
修改代码
  medth  ("yyyy年MM月dd日");   
异常二
  
创建人
  
张雪飞
  
问题标题
  
变量问题
  
问题分类
  
编译代码时报错
  
一级话题
  
Error:(31, 26) java: 找不到符号
    符号:   变量 sum  
  位置: 类 worlk.Demo3
  
问题补充
  

  
附件
  
[Java] 纯文本查看 复制代码
for (int i = 0; i < list.size(); i++)  {
              if(mix>list.get(i)){  
                mix=list.get(i);
              }  
            if(max<list.get(i)){
                  max=list.get(i);  
            }
               int sum =0;  
             sum  =sum+list.get(i);
           }  
         double result = (sum-max-mix)/(list.size()-2);
           System.out.println("选手最终得分为:"+result);
  
问题答案
  
问题分析:
  int sum = 0;定义在了for循环里面,在计算结果时找不到变量sum
问题解决方法:
  
修改代码
  int sum = 0;定义在main方法里面
异常三
  
创建人
  
张雪飞
  
问题标题
  
方法调用问题
  
问题分类
  
编译时报错
  
一级话题
  
Error:(22, 21) java: 无法将接口 java.util.Collection<E>中的方法 remove应用到给定类型;
    需要: java.lang.Object  
  找到: 没有参数
    原因: 实际参数列表和形式参数列表长度不同
  
问题补充
  

  
附件
  
[Java] 纯文本查看 复制代码
while(it.hasNext()){
              String str = it.next();  
             if(str.length()<5||str.length()>10){
                  coll.remove();  
            }
           }
  
问题答案
  
问题分析:
  
删除元素应该用Iterator类的对象调用remove方法,而不是集合对象。
问题解决方法:
  
修改代码为:
  it.remove();






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