2012-11-25 110 views
1

我有一块这样的代码,我想通过使用一段时间插入数据。如何用while循环填充数组?

Weather weather_data[] = new Weather[]{ 
       new Weather(0, "Cloudy"), 
       new Weather(0, "Showers"), 
       new Weather(0, "Snow"), 
       new Weather(0, "Storm"), 
       new Weather(0, "Sunny") 
}; 

如何使用一段时间填写此列表?

感谢

+0

你已经填补了数组初始化时。你想操纵内容吗? – Juvanis

+0

如果你告诉我们你为什么要这样做,你可能会得到更好的答案。 – NPE

回答

3

试试这个:

Weather weather_data[] = new Weather[5]; 

int i = 0; 
while(i < weather_data.length){ 
    //fill array [i] 
    i++; 
} 
2

我知道你是想以填补以下字符串数组作为基地的数组:

String[] weatherTypes = {"Cloudy","Showers","Snow","Storm","Sunny"}; 

然后,你可以这样做:

int i=0; 
Weather[] weather_data = new Weather[]; 
for (String weatherType: weatherTypes){ 
    weather_data[i] = new Weather(0,weatherType); 
    i++; 
} 

你可以使用也可以使用一个列表:

List<Weather> weather_data = new ArrayList<Weather>(); 
for (String weatherType: weatherTypes){ 
    weather_data.add(new Weather(0,weatherTypes)); 
} 
0
Weather[] weather_data = new Weather[5]; 

public void addWeatherData(Weather newWeather) { 
    int counter = 0; 
    while (counter < weather_data.length) { 
     if (weather_data[counter] == null) { 
      weather_data[counter] = newWeather; 
      return; 
     } 
     counter++; 
    } 
}