在main方法中不能访问2d数组值

时间:2014-01-27 10:53:31

标签: java arrays

如何访问主类中存储在2d数组puzzle [] []中的值。 我无法在generate()中打印这些值,但不能在main方法中打印。

import java.util.Random;

public class generator {

 static   int  puzzle[][] = new int[9][9];

 public int[][] generate() {
     return puzzle;
 }

 public static void main(String args[]){
    generator g = new generator ();
    g.generate();   
 }  
}

2 个答案:

答案 0 :(得分:1)

就我的问题而言,您需要将以下内容放入主要方法

int[][] localPuzzle = g.generate();

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        System.out.println(localPuzzle[i][j]);
    }
}

或直接使用generator.puzzle[i][j]也应该有用。

希望这会有所帮助。请澄清你是否还想要其他东西。

答案 1 :(得分:0)

  

“如何在主类”

中访问存储在二维数组拼图[] []中的值

我的猜测是你在遍历数组时遇到问题。如果没有给你答案,我会给你一些思考和帮助你学习的东西。

  • 您需要遍历(循环)数组。这不像常规数组,您可以使用一个循环。由于它是2D数组,因此需要两个循环。看看Iterating through MultiDimensional Arrays
  • 对于方法,您需要确定是否希望方法执行打印,或者您希望方法返回某些内容。如果您希望打印方法generate(),则返回类型应为void,并且您需要在循环中添加一些System.out.println()。上面的链接可以告诉你如何迭代数组。如果您使用方式,则调用g.generate()即可。
  • 由于您目前有方法generate()返回一个数组,那么您需要做类似这样的事情

    int[][] array = g.generate();
    

    然后你需要迭代它。


详情阅读Defining methodsLoops