如何从另一种方法打印数组中的特定点? #Java

时间:2014-06-27 19:32:58

标签: java arrays printing

public class NewTest {

    public static void main(String[] args)
    {
        String [][] table;
        table = new String [4][4];
        for(int y=0; y<4; y++){
            for(int x=0; x<4; x++){
                table[y][x] = " ~  " ;
            }   
        }
        int y, x;
        for(y=0; y<4; y++)
        {   
           System.out.print(y+": ");
           for(x=0; x<4; x++)
               System.out.print(table[y][x]+" ");
           System.out.println();
        }                   
    }
    public void table ()
    {           
          System.out.println(table[2][2]);
    }
}

//这是我遇到问题的路线! System.out.println(table[2][2]);

1 个答案:

答案 0 :(得分:4)

问题是String [][] table是声明它的方法的 local ,因此对于该类的其他方法是不可见的。

有两种方法可以看到它:

  • 在封闭类中String [][] table成为static成员(因为mainstatic),或
  • String [][] table作为参数传递给该函数。

第二种解决方案通常更好:

// Here is the declaration of a method taking 2D table
public static void showTableCell(String [][] table) ...
...
// Here is a call of that method from main():
showTableCell(table);