java:获取循环外的计算值

时间:2011-09-28 07:23:44

标签: java

我在for循环中进行一些计算,当我在循环中打印值时,我得到了预期的值, 现在,我还需要这些值在循环外可用,而不仅仅是获得最新值。

示例:

String[][] matrix = { { "1", "2", "3" } };

    String[] y= { "TEST" ,"BUG"};
    int a = 0;
    for (int i = 0; i < y; i++)
    {

      for (int j = 1; j < 4; j++)
      {

       int value = Integer.parseInt(matrix[i][j - 1]);

        System.out.println(value ); //this is OK it print me 3 values
      }
    }
System.out.println(value );  //it print me only third value

我希望值1,2,3也可以在循环

之外使用

3 个答案:

答案 0 :(得分:1)

在循环之外声明变量value

String[][] matrix = { { "1", "2", "3" } };

    String[] y= { "TEST" ,"BUG"};
    int a = 0;
    int value = 0;
    for (int i = 0; i < y; i++)
    {

      for (int j = 1; j < 4; j++)
      {

        value = Integer.parseInt(matrix[i][j - 1]);

        System.out.println(value ); //this is OK it print me 3 values
      }
    }
System.out.println(value );

但是如果你需要所有三个值,你应该使用数组或其他容器,如ArrayList:

String[][] matrix = { { "1", "2", "3" } };

    String[] y= { "TEST" ,"BUG"};
    int a = 0;
    Arraylist<Integer> values = new Arraylist<Integer>();
    for (int i = 0; i < y; i++)
    {

      for (int j = 1; j < 4; j++)
      {

        values.add(Integer.parseInt(matrix[i][j - 1]));

        System.out.println(values); //this is OK it print me 3 values
      }
    }
System.out.println(values);

答案 1 :(得分:1)

如果您想要访问所有三个变量。你必须声明一个包含所有值的数据结构。

e.g。

String[][] matrix = { { "1", "2", "3" } };
List<Integer> list = new ArrayList();
    String[] y= { "TEST" ,"BUG"};
    int a = 0;
    int value;
    for (int i = 0; i < y; i++)
    {

      for (int j = 1; j < 4; j++)
      {

        value = Integer.parseInt(matrix[i][j - 1]);
        list.add(value);
        System.out.println(value ); //this is OK it print me 3 values
      }
    }
System.out.println(value );

答案 2 :(得分:0)

你必须在你的代码之上声明你的变量(你想在for循环之外使用)。 例如:

for (...) {
    //only valid in this for loop
    int i = 1;
}

//valid also after this for loop
int i = 1;
for (...) {

}