2015-02-19 2 views
0

Вот мои два класса: страна и страны. Я занимаюсь вопросами онлайн в качестве дополнительной практики.Заполнение массива следующим пустым пространством?

мне нужно: -Добавить метод для стран - addCountry (имя String, String капитал, внутр население - Который заполняет элемент по nextFreeCountry и увеличивает nextFreeCountry

Может кто-нибудь предоставить некоторую помощь, которую я борюсь? чтобы понять, как заполнить элемент по nextFreeCountry

Страна:.

public class Country { 

    private String name; 
    private String capital; 
    private int population; 

Конструктор, чтобы добавить название капитала и население

public Country(String name, String capital, int population) { 
     this.name = name; 
     this.capital = capital; 
     this.population = population; 
    } 

Получить имя метод

public String getName() { 
     return name; 
    } 


    public String getCapital() { 
     return capital; 
    } 

    public int getPopulation() { 
     return population; 
    } 

    public String toString() { 
     return "Name = " + getName() + " Capital = " + getCapital() + " Population = " + getPopulation(); 
    } 
} 

Страна:

class Countries { 

Создание массива Страны называется страна

private Country[] countries; 
    private int nextFreeCountry = 0; 

Настройка размера для массива

public Countries(int size) { 
     countries = new Country[size]; 
    } 

метод addCountry

public void addCountry(String name, String capital, int population) { 
     countries[nextFreeCountry] = 
     nextFreeCountry++; 
    } 

} 

ответ

2

Как countries массив держать Country объекты, таким образом, создать новый объект и поместить его в массив. Что-то вроде этого:

public void addCountry(String name, String capital, int population) { 
    countries[nextFreeCountry] = new Country(name,capital,population); 
    nextFreeCountry++; 
} 
1

Вы должны добавить новую страну в массив, который вы сейчас не делаете. Как так:

public void addCountry(String name, String capital, int population) { 
     countries[nextFreeCountry] = new Country(name, capital, population); 
     nextFreeCountry++; 
} 

В качестве альтернативы просто передать страну методу, как это:

public void addCountry(Country country) { 
      countries[nextFreeCountry] = country; 
      nextFreeCountry++; 
} 

Вы также можете быть лучше использовать ArrayList, а не массив, так что вам не придется беспокоиться о массиве индекс за пределами границ и т. д.

Смежные вопросы