2014-03-06 121 views
0
public static int askingAmount() { 
    System.out.println("How many persons are there in your company?"); 
    Scanner amountS = new Scanner(System.in); 
    amount = amountS.nextInt(); 
    System.out.println(amount); 
    amountS.close(); 
    return amount; 
} 
public static void makingPersons() { 
    for (int i=0 ; i<amount ; i++) { 
     int personNumber=0; 
     Person person[i] = new Person(); //<--- The problem 
     System.out.println("person"); 
    } 
} 

在第一种方法中,我试图询问用户他们有多少人,然后返回金额。在第二部分中,我想创建一个等量的Person对象,并使用变量“i”将它们命名为person1,person2,person3,但我没有得到它的工作。任何线索?在for循环中启动对象

回答

1

定义外循环数组作为类成员:

Person[] person; 

然后在askingAmount你初始化:

person = new Person[amount]; 

和环路内做到:

person[i] = new Person(); 
1
public static void makingPersons() { 
    Person[] persons = new Person[amount]; 
    for (int i=0 ; i<amount ; i++) { 
     int personNumber=0; 
     persons[i] = new Person(); //<--- The solution 
     System.out.println("person"); 
    } 
} 
0

您必须从循环中初始化Person类型的数组,然后使用新实例填充它,例如:

public static void makingPersons() { 

    Person[] person = new Person[amount]; 

    for (int i=0 ; i<amount ; i++) { 
     int personNumber=0; 
     person[i] = new Person(); 
     System.out.println("person"); 
    } 
}