我创建了一个名为Person的类。我在类中构造函数的属性中存储数据时遇到了麻烦。我做了一个测试人员并用第一个构造函数尝试了它,但它说它无法找到变量。我真正想要做的是创建一个Person类的数组 - “Person”的数量将取决于用户的输入(选择)并显示它。
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"UITableViewCell"];
这是测试人员代码:
public class Person
{
private String fname;
private String lname;
private byte age;
public Person(String fn, String ln, byte edad)
{
fname=fn;
lname=ln;
age=edad;
}
public Person(String fn, String ln)
{
fname=fn;
lname=ln;
age=20;
}
public int getAge()
{
return age;
}
public String getFname()
{
return fname;
}
public String getLname()
{
return lname;
}
}
答案 0 :(得分:1)
您应该在拥有值后创建Person对象 将代码修改为此
Person p1 ;
String fname,lname;
int age;
Person[] Arr = new Person[choice];
for(ctr=0; ctr<choice; ctr++){
System.out.print("First name:");
fname=scan.next();
System.out.print("Last name:");
lname=scan.next();
System.out.print("Age:");
age=scan.nextInt();
p1 =new Person(fname, lname, age);
Arr[ctr]=p1;
}
这将填充数组
答案 1 :(得分:0)
您需要先声明变量(fname,lname,age),然后才能为其分配值或使用它们。
以下语句声明了一个String变量fname,并在控制台输入中为其指定下一个字符串标记。
String fname = scan.next();
然后使用此变量作为person的构造函数参数,如:
Person p1 = new Person(fname, lname, age);
把它们放在一起,它应该是:
Person[] Arr = new Person[choice];
for(ctr=0; ctr<choice; ctr++){
System.out.print("First name:");
String fname = scan.next();
System.out.print("Last name:");
String lname = scan.next();
System.out.print("Age:");
byte age = scan.nextByte();
Person p1 = new Person(fname, lname, age);
Arr[ctr] = p1;
}