0

我有一个 API,它有一个 for 循环并打印出接下来 3 天的天气状况。

for (ForecastForday1 day : forecast) 
          {
            // Print out what day the forecast is for, and
            // the conditions on that day
            System.out.println("The weather on " + day.getDayOfWeek()
                   + " will be " + day.getInfo("Conditions"));
          }

但是我有 3 个 JTextArea,所以每次循环重复时,我都希望将数据放入一个文本区域,然后再放入下一个。

我的文本区域:

day1.append("");
day2.append("");
day3.append("");

所以我想我必须在这个循环上放一个循环,但不知道从哪里开始。

4

4 回答 4

3

如果您可以使用 Array of textareas 而不是 3 个不同的变量,则可以执行以下操作

JTextArea  days[] = new JTextArea[3];
        int i=0;   
        for (ForecastForday1 day : forecast)  {
            days[i++].append("Append string");
        }
于 2013-03-31T06:35:05.983 回答
1

我可以从许多可能的方法中提出一种方法来解决这个问题,

    int i=0;   
    for (ForecastForday1 day : forecast) 
                  {
                    if (i%3==0)
                       day1.append("string here");
                    else if (i%3==1)
                       day2.append("string here");
                    else if (i%3==2)
                       day3.append("string here");

                    i++;
                    // Print out what day the forecast is for, and
                    // the conditions on that day
                    System.out.println("The weather on " + day.getDayOfWeek()
                           + " will be " + day.getInfo("Conditions"));
                  }

我想这就是你想要的。

于 2013-03-31T06:25:00.333 回答
1

你在寻找这样的东西吗?告诉我这是否有帮助或是否需要调整。

 {

ArrayList<JTextArea> list = new ArrayList<JTextArea>() ;

list.add(day1);
//add day2 and day3 etc

Int i=0;
for (ForecastForday1 day : forecast) 
          {
           //add check to see of list size is greater than i

             list.get(i).append( //day data);
            i=i+1;
          }
} 
于 2013-03-31T06:33:44.093 回答
1

这是解决方案。感谢@redDevil 的帮助。它给了我这个想法。

    int i=0;   
    for (ForecastForday1 day : forecast) 
    {

          if (i==0){
             day1Weather.append("The weather on " + day.getDayOfWeek() + " will be " + day.getInfo("Conditions")");
          }
          else if (i==1){
             day2Weather.append("The weather on " + day.getDayOfWeek() + " will be " + day.getInfo("Conditions")");
          }
          else if (i==2){
             day3Weather.append("The weather on " + day.getDayOfWeek() + " will be " + day.getInfo("Conditions")");
          }
          i++;
    }
于 2013-03-31T06:38:06.860 回答