开发者

java : get computed values outside loop

I do some calcula开发者_JAVA百科tion inside for loop and when I println values inside the loop, I got the expected values, now, I need also that these values will be available outside loop and not only get the latest value.

example :

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

I would like that the value 1,2,3 will be also available outside loop


If you want to have access to all three variables. you have to declare a data structure that holds all the values.

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 );


Declare the variable value outside of your loop:

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 );

But if you need all three values available you should use array or some other containers like 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);


you have to declare your variable (that you want to use outside of the for-loop) on top of your code. Example:

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

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

}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜