2015-01-06 3 views
0

Мне нужно составить диаграмму в багаже ​​Статистика. В приведенном ниже коде будет отображаться 4 бара в месяц в виде диаграммы. У меня есть боковая панель (не указана здесь), я могу заполнить диапазон деталей, которые я хочу (пример, с 1 января по 20 августа).Изменение переменной в Forloop

Теперь я подумал о чем-то вроде цикла for, который устанавливает линию, зависящую от количества месяцев. в приведенном выше примере это будет të следующий код

dataset.addValue(getMissing(), series1, Month1); 
dataset.addValue(getMissing(), series1, Month2); 
dataset.addValue(getMissing(), series1, Month3); 
dataset.addValue(getMissing(), series1, Month4); 
dataset.addValue(getMissing(), series1, Month5); 
dataset.addValue(getMissing(), series1, Month6); 
dataset.addValue(getMissing(), series1, Month7); 
dataset.addValue(getMissing(), series1, Month8); 

как я сделать цикл, который добавляет codeline, И увеличить месяц

Сердечные приветы

// row keys... 
    String series1 = "Luggage Lost"; 
    String series2 = "Customer Missing"; 
    String series3 = "Recovered"; 
    String series4 = "Forever Lost"; 


    // column keys... 
    String Month1 = "January"; 
    String Month2 = "February"; 
    String Month3 = "March"; 
    String Month4 = "April"; 
    String Month5 = "May"; 
    String Month6 = "June"; 
    String Month7 = "July"; 
    String Month8 = "August"; 
    String Month9 = "September"; 
    String Month10 = "October"; 
    String Month11 = "November"; 
    String Month12 = "December"; 

    // create the dataset... 
    DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 


    for (int aantalmaanden = 0; aantalmaanden==0; aantalmaanden--) { 


    } 

    dataset.addValue(getMissing(), series1, Month1); 
    dataset.addValue(getMissing(), series1, Month2); 
    dataset.addValue(getMissing(), series1, Month3); 
    dataset.addValue(getMissing(), series1, Month4); 
    dataset.addValue(getMissing(), series1, Month5); 

    dataset.addValue(getFound(), series2, Month1); 
    dataset.addValue(getFound(), series2, Month2); 
    dataset.addValue(getFound(), series2, Month3); 
    dataset.addValue(getFound(), series2, Month4); 
    dataset.addValue(getFound(), series2, Month5); 

    dataset.addValue(getHandel(), series3, Month1); 
    dataset.addValue(getHandel(), series3, Month2); 
    dataset.addValue(getHandel(), series3, Month3); 
    dataset.addValue(getHandel(), series3, Month4); 
    dataset.addValue(getHandel(), series3, Month5); 

    dataset.addValue(getForeverlost(), series4, Month1); 
    dataset.addValue(getForeverlost(), series4, Month2); 
    dataset.addValue(getForeverlost(), series4, Month3); 
    dataset.addValue(getForeverlost(), series4, Month4); 
    dataset.addValue(getForeverlost(), series4, Month5); 

    return dataset; 

} 
+0

вы не можете держать месяца в массиве вместо того чтобы сказать MONTH1, Month2, и т. д. Затем вы можете закодировать этот массив. – Grainier

+0

Используйте «Enum» в течение месяца и перебирайте его значения. – TheLostMind

ответ

0

Вы хотите использовать массивы:

String[] serieses = { 
    "Luggage Lost", 
    "Customer Missing", 
    "Recovered", 
    "Forever Lost" 
}; 

// column keys... 
String[] months = { 
    "January", 
    "February", 
    "March", 
    "April", 
    "May", 
    "June", 
    "July", 
    "August", 
    "September", 
    "October", 
    "November", 
    "December" 
}; 

Тогда либо расточные for петли:

int seriesNum; 
int monthNum; 

for (seriesNum = 0; seriesNum < serieses.length; ++seriesNum) { 
    for (monthNum = 0; monthNum < months.length; ++monthNum) { 
     // Do something with serieses[seriesNum] and months[monthNum] here 
    } 
} 

... или расширенные for петли:

for (series : serieses) { 
    for (month : months) { 
     // Do something with series (a String) and month (a String) here 
    } 
} 
+1

Чтобы инициализировать массив с именами месяцев, я использовал бы силу Java ;-) 'String [] months = new DateFormatSymbols (Locale.forLanguageTag (« NL »)). GetMonths();', которые могут быть интернационализированы. – SubOptimal

+0

@SubOptimal: Ницца! –

0

Вы не хотите для изменения переменной в цикле, но значение переменной:

for (String month: new String[]{"January","February","March"...}) { 
     dataset.addValue(getMissing(), series1, Month3);    
    } 
0

String month[] = new String[12] вы должны создать массив месяцев

// Добавляем месяцев в массиве

for(int i=0;i<moth.lenth;i++){ 
dataset.addValue(getMissing(), series1, month[i]); 
} 

Если вы хотите перебрать месяц и серии, то вы должны использовать nested for loop

String series[] = new String[4]; 

// добавить серии в массиве

for(int i=0;i<series.lenght;i++){ 

for(int j=0;j<month.lenght;j++){ 
    dataset.addValue(getMissing(), series[i], month[j]); 
} 
} 
Смежные вопросы