package manage;
import java.util.Scanner;
public class Number {
//数据成员
public String name;
public String num;
public String password;
public String sex;
public int age;
public String phone;
public String QQ;
//构造函数
public Number(String pname,String pnum,String ppassword,String psex,int page,String pphone,String pQQ)
{
name=pname;
num=pnum;
password=ppassword;
sex=psex;
age=page;
phone=pphone;
QQ=pQQ;
}
//无参构造
public Number()
{
}
//获取信息
public String getname()
{
return name;
}
public void setname(String pname)
{
name=pname;
}
public String getpassword()
{
return password;
}
public void setpassword(String ppassword)
{
password=ppassword;
}
public String getnum()
{
return num;
}
public void setnum(String pnum)
{
num=pnum;
}
public String getsex()
{
return sex;
}
public void setsex(String psex)
{
sex=psex;
}
public int getage()
{
return age;
}
public void setage(int page)
{
age=page;
}
public String getphone()
{
return phone;
}
public void setphone(String pphone)
{
phone=pphone;
}
public String getQQ()
{
return QQ;
}
public void setQQ(String pQQ)
{
QQ=pQQ;
}
public void login()
{
Scanner sc=new Scanner(System.in);
System.out.println("==============");
Number n=null;
System.out.println("putname:");
String name1=sc.next();
System.out.println("putnum:");
String num1=sc.next();
System.out.println("putpassword:");
String password1=sc.next();
System.out.println("putsex");
String sex1=sc.next();
System.out.println("putage");
int age1=sc.nextInt();
System.out.println("putphone");
String phone1=sc.next();
System.out.println("putQQ");
String QQ1=sc.next();
n=new Number(name1,num1, password1,sex1,age1,phone1,QQ1);
}
}
package 社团管理系统;
import java.util.Scanner;
public class main extends number {
public static void main(String[] args)
{
int flag=0;
System.out.println("put number");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
number []n=new number[i];
while(flag<i)
{
//指针异常
n[flag].login();
flag++;
}
}
}
错误原因:
仅仅创建了指针并没有对指针进行初始化(并没有开辟资源并指向)
import java.util.Scanner;
public class main extends number {
public static void main(String[] args)
{
int flag=0;
System.out.println("put number");
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
number []n=new number[i];
while(flag<i)
{
//指针异常
//!!!!!
n[flag]=new number();
n[flag].login();
flag++;
}
}
}