int a;
public void kj(){
System.out.print("请设置数据库大小:");
a = input.nextInt();
}
User[] users = new User[a];
为什么这样会报错!!!

解决方案 »

  1.   

    不知道你那里的input是什么参考以下代码public static void main(String args[]) {

    try{

    BufferedReader reader = new BufferedReader(new InputStreamReader (System.in));
    String s = reader.readLine();
    int i = Integer.parseInt(s);

    String[] array = new String[i];

    System.out.println(array.length);

    }catch(Exception e ){
    e.printStackTrace();
    }
    }
      

  2.   

    input是哪个包里呢?新手,围观
      

  3.   

    int a;
    public void kj(){
    System.out.print("请设置数据库大小:");
                    Scanner input = new Sacnner(System.in);
    a = input.nextInt();
    }
    User[] users = new User[a];
      

  4.   

    Scanner input = new Sacnner(System.in);
    修改为Scanner input = new Scanner (System.in);
      

  5.   

    LZ  你的a是在kj()这个方法里赋值的,你都没调用那个方法,a就没有值,你下面赋给数组就不行拉
    这样
    kj();
    User[] users = new User[a];
      

  6.   

    Scanner s=new Scanner(System.in);
    a=s.nextInt();
      

  7.   

    要实现动态数组的功能,楼主可以这样写:
    int a;
    User[] users ;
    public void kj(){
    System.out.print("请设置数据库大小:");
    a = input.nextInt();
    users = new User[a];
    }