Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从另一种方法的数组中打印特定点#JAVA 公共类新测试{ 公共静态void main(字符串[]args) { 字符串[][]表; table=新字符串[4][4]; 对于(int y=0;y_Java_Arrays_Printing - Fatal编程技术网

如何从另一种方法的数组中打印特定点#JAVA 公共类新测试{ 公共静态void main(字符串[]args) { 字符串[][]表; table=新字符串[4][4]; 对于(int y=0;y

如何从另一种方法的数组中打印特定点#JAVA 公共类新测试{ 公共静态void main(字符串[]args) { 字符串[][]表; table=新字符串[4][4]; 对于(int y=0;y,java,arrays,printing,Java,Arrays,Printing,而言,问题在于String[][]table对于声明它的方法是局部的,因此对于类的其他方法是不可见的 有两种方法可以使其可见: 将String[][]表astatic成员放入封闭类中(因为main是static),或 将字符串[][]表作为参数传递给函数 第二种解决方案通常更好: public class NewTest { public static void main(String[] args) { String [][] table;

而言,问题在于
String[][]table
对于声明它的方法是局部的,因此对于类的其他方法是不可见的

有两种方法可以使其可见:

  • String[][]表
    a
    static
    成员放入封闭类中(因为
    main
    static
    ),或
  • 字符串[][]表作为参数传递给函数
第二种解决方案通常更好:

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

问题是
String[][]表
对于声明它的方法是局部的,因此对于类的其他方法是不可见的

有两种方法可以使其可见:

  • String[][]表
    a
    static
    成员放入封闭类中(因为
    main
    static
    ),或
  • 字符串[][]表作为参数传递给函数
第二种解决方案通常更好:

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

有点离题;但是如果你对一个变量和一个方法使用相同的名称,事情会变得非常混乱。在这里,你有一个名为
table
的变量和一个名为
table
的方法。我强烈建议重命名其中一个。通常,变量的最佳名称是名词或名词短语,方法的最佳名称是verB或动词短语。有点离题;但如果对变量和方法使用相同的名称,事情会变得非常混乱。这里有一个名为
table
的变量和一个名为
table
的方法。我强烈建议重命名其中一个。通常,变量的最佳名称是名词或名词短语,以及最佳名称for方法是动词或动词短语。因此,将第一个方法保持不变,第二个方法应该是//public static void showTableCell(String[]]table){showTableCell(table);}}//如果是,则它不起作用!@user3784420否,
showTableCell(table)
属于
main(String[]args)的主体
showTableCell
的主体就是您现在在
table
方法中的主体(我重命名了方法,使其名称与表的名称不同)。因此,保留第一个方法不变,第二个方法应该是//public static void showTableCell(String[][]table){showTableCell(table);}//如果是,则它不起作用!@user3784420否,
showTableCell(table)
属于
main(String[]args)
的主体。
showTableCell
的主体就是现在
table
方法中的主体(我重命名了方法,使其名称与表的名称不同)。