解决方案 »

  1.   

    while(v[i].id==0){//这句话是通不过的,一进去v[i]就已经等于null,还怎么ID啊,再说你可是数组哦,你有没有给VIP数组中定义ID
      

  2.   

    你只定义了数据,却没有对数据元素赋初始值,所以报空指针错误。我加了几句代码:import java.util.Scanner;public class OprateVip {

     VIP[] v = new VIP[10];
        public void addVip(){
            Scanner console = new Scanner(System.in);
             
            System.out.print("输入会员编号:");
            for(int i = 0;i<v.length;i++){
             if(v[i]==null){
             v[i]=new VIP();
             }
                while(v[i].id==0){
                    v[i].id=console.nextInt();
                    System.out.print("请输入积分:");
                    v[i].credits=console.nextInt();
                 
                }
                System.out.print(v[i].id+"   "+v[i].credits+"添加成功") ;
            }
         
             
        }
    }
      

  3.   

     while(v[i].id==0)
    这里会报空指针的
      

  4.   

    package com.wxws.sms;import java.util.Scanner;public class OprateVip {
    VIP[] v = new VIP[10];
    public void addVip(){
    Scanner console = new Scanner(System.in);

    System.out.print("输入会员编号:");
    for(int i = 0;i<v.length;i++){
    while(v[i].id==0){
    v[i].id=console.nextInt();
    System.out.print("请输入积分:");
    v[i].credits=console.nextInt();

    }
    System.out.print(v[i].id+"   "+v[i].credits+"添加成功") ;
    }


    }
    }
    while(v[i].id==0)  这行的v[i]是null,需要使用new ,分配内存空间
      

  5.   

    VIP[] v = new VIP[10];上面语句只是定义了一个容量是10个VIP实例的容器,但是里面没有内容。在用v[i]之前要先new VIP(),创建实例并用v[i]指向这个实例。