如下問題,為什么?(50分)

  • 主题发起人 主题发起人 悟峰
  • 开始时间 开始时间

悟峰

Unregistered / Unconfirmed
GUEST, unregistred user!
JC環境,代碼如下:
class customer
{
String custname;
String custno;
String custsex;
int custage;
public void displaydetails()
{
System.out.println(custname);
System.out.println(custno);
System.out.println(custsex);
System.out.println(custage);
}
}
class customerexample
{
customer custobject[];
public customerexample()
{
custobject=new customer;
for (int ctr=0;ctr!=3;ctr++)
{
custobject[ctr]=new customer();
}
custobject[0].custname="悟峰";
custobject[0].custno="3427";
custobject[0].custsex="男";
custobject[0].custage=27;

}
public void displayCollection()
{
try
{
for(int ctr=0;ctr!=4;ctr++)
{
custobject[ctr].displaydetails();
}
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println("Trying to access beyond the length of the array");
}
}
public static void main(String args[])
{
customerexample collectionobj;
collectionobj=new customerexample();
collectionobj.displayCollection();
System.out.println("All records displayed");
}
}
錯誤信息如下,搞不明白為什么:
--------------------Configuration: customerExample - JDK version 1.3.1_04 <Default>--------------------
C:/Program Files/Xinox Software/JCreator Pro/MyProjects/Helloworld3/variableclass/customer/cathcdemo/customerExample/CustomerExample.java:31: '(' or '[' expected
custobject=new customer;
^
1 error
Process completed.
 
先查一查{}是否成对出现
 
custobject=new customer();
?
 
>>customer custobject[];
>>public customerexample()
>>{
>> custobject=new customer;
customer[] custobject=new customer[3];//对数组进行初始化并分配存储空间
 
ZRWeng兄,真是高人啦,呵呵
 
多人接受答案了。
 
变量如果没有初始化,就是null,null当然不能当数组用。
有时,即使初始化了数组:
customer[] custobject=new customer[3];
也只是数组变量可以使用了,但数组的成员也不一定可以使用,还有对组员初始化:
for(int i=0;i<3;i++){
customer c = new customer();
customer = c;
}
具体情况,还有看 customer 的定义了,静态的变量当然可以不初始化直接使用。
 
后退
顶部