免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1216 | 回复: 3
打印 上一主题 下一主题

求助:问题内容实在不好表达,大家帮看看,万分感谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-04-11 22:22 |只看该作者 |倒序浏览
import java.util.*;
public class ChangeInClass{
        public ChangeInClass(){
        }
        public class As{
                ArrayList num;
                int degree;
                public As(ArrayList a,int b){
                        num = a;
                        degree =b;               
                }
                public void addnum(String str){
                        num.add(str);
                }
        }
       
        public void process(){
                As temp = new As(null,4);
                temp.addnum("hehe";
                System.out.print(temp.num.get(0));
        }
       
        public static void main(String[] args){
                ChangeInClass cc = new ChangeInClass();
                cc.process();
        }
}
编译通过,运行时出错
Exception in thread "main" java.lang.NullPointerException
        at ChangeInClass$As.addnum(ChangeInClass.java:13)
        at ChangeInClass.process(ChangeInClass.java:20)
        at ChangeInClass.main(ChangeInClass.java:26)
如果把num改成int型,后面调用时也作相应修改,如
AS temp = new AS(3,4);temp.addnum(5);这样temp.num就等于8;可是用ArrayList,怎么就出错呢?这是为什么?应该怎么改,我才能像int那样修改ArrayList里面的值呢?

论坛徽章:
0
2 [报告]
发表于 2004-04-11 23:51 |只看该作者

求助:问题内容实在不好表达,大家帮看看,万分感谢!

  1. package untitled4;

  2. import java.util.*;

  3. public class ChangeInClass {
  4.   public ChangeInClass() {
  5.   }

  6.   public class As {
  7.     ArrayList num;
  8.     int degree;
  9.     public As(ArrayList a, int b) {
  10.       num = a;
  11.       degree = b;
  12.     }

  13.     public void addnum(String str) {
  14.       num.add(str);
  15.     }
  16.   }

  17.   public void process() {
  18.     As temp = new As(new ArrayList(), 4);
  19.     temp.addnum("hehe");
  20.     System.out.print(temp.num.get(0));
  21.   }

  22.   public static void main(String[] args) {
  23.     ChangeInClass cc = new ChangeInClass();
  24.     cc.process();
  25.   }
  26. }
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-04-12 06:44 |只看该作者

求助:问题内容实在不好表达,大家帮看看,万分感谢!

As temp = new As(null,4);

老大,你传个null进去,那当然出错喽。。。

论坛徽章:
0
4 [报告]
发表于 2004-04-12 09:16 |只看该作者

求助:问题内容实在不好表达,大家帮看看,万分感谢!

      
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP