如何标记我的东西=真

时间:2011-02-09 22:58:11

标签: java for-loop

  for (int i=1;i<10;i++)
  {
        if something == true
            do something
        else 
            do something
  }

这是我想要做的: 循环之外对于,我需要总结一下我something = true以及i something = false

4 个答案:

答案 0 :(得分:6)

List<Integer> positiveResults = new ArrayList<Integer>();
List<Integer> negativeResults = new ArrayList<Integer>();

for (int i = 1; i < 10; i++)
{
    if (someCondition)
        positiveResults.add(i);
    else
        negativeResults.add(i);
}

其中someCondition应该是boolean变量或表达式。

如果您明确要将结果放在数组而不是List中,请添加

Integer[] resultsInArray = positiveResults.toArray(
        new Integer[positiveResults.size()]);

答案 1 :(得分:1)

你好像你的for循环设置错了,条件语句应该在中间:

for (int i = 1; i < 10; i++)

但要回答这个问题,你只需要在循环之前声明变量:

int i = 1;
for ( ; i < 10; i++) {

}
// You can still access i here since it is still in scope.

答案 2 :(得分:0)

首先,您的循环条件的顺序与您可能需要的顺序错误:

for (int i = 1; i < 10; ++i)

接下来,我猜你想要

if (something == true)
{
    // do something
}
else
{
    // do something *else*
}

在循环体中。

无论如何,在do something部分中,您拥有i的值,因为它是本地范围的。此时,您可以将其添加到您选择的数组中。

答案 3 :(得分:0)

列表示例:

List<Integer> trueStates = new ArrayList<Integer>();

    for (int i=1;i<10;i++)
    {
        if (something == true) //e.g (i%2 == 0)
            trueStates.add(i);      
    }

在for循环之后,你将在trueState中有一些东西== true。另一种选择是使用Map来保存你所有数字的状态。

地图示例:

Map<Integer, Boolean> statesMap = new HashMap<Integer, Boolean>();
for (int i=1;i<10;i++)
{
    statesMap.put(i, something == true);        
}