2013-02-28 38 views
2

我有一个数组(Arr)。我用值填充points1和points2。Java - 将值添加到二维数组以及如何查看数组?

public class Arr { 
    float pointX; 
    float pointY; 
    boolean yesNo; 
    String text; 
} 

public Arr points1[]; 
public Arr points2[]; 

points1 = new Arr[100]; 
for (int i = 0; i < 100; i++) points1[i]= new Arr();  

for (int j = 0; j < 100; j++) { 
    points1[j].pointX = getFloat; 
    points1[j].pointY = getFloat; 
    points1[j].yesNo = getBoolean; 
    points1[j].text = getText; 
} 

points2 = new Arr[100]; 
for (int x = 0; x < 100; x++) points2[x]= new Arr();  

for (int y = 0; y < 100; y++) { 
    points2[y].pointX = getFloat; 
    points2[y].pointY = getFloat; 
    points2[y].yesNo = getBoolean; 
    points2[y].text = getText; 
} 

这工作,但什么是,当我对他们有五个或更多(points1,points2,points3 ...) 我怎样才能让 “公共编曲点[] []”?然后填写并用例如points [0] [22] .pointX或points [1] [10] .text?

我怎样才能在PHP中看到类似var_dump的点[] []数组?如何列出数组? 的var_dump例如:

array(3) { 
    [0]=> 
    int(1) 
    [1]=> 
    int(2) 
    [2]=> 
    array(3) { 
    [0]=> 
    string(1) "a" 
    [1]=> 
    string(1) "b" 
    [2]=> 
    string(1) "c" 
    } 
} 

回答

1

这是一个工作示例

package com.stackoverflow.q15134193; 

public class Test1 { 
    public static Arr[][] points; 
    static float getFloat = 1; 
    static boolean getBoolean = true; 
    static String getText = "hi"; 

    public static void main(String[] args) { 

     points = new Arr[100][]; 
     for (int i = 0; i < points.length; i++) { 
      points[i] = new Arr[100]; 
      for (int j = 0; j < points[i].length; j++) 
       points[i][j] = new Arr(); 
     } 

     for (int i = 0; i < points.length; i++) { 
      for (int j = 0; j < points[i].length; j++) { 
       points[i][j].pointX = getFloat; 
       points[i][j].pointY = getFloat; 
       points[i][j].yesNo = getBoolean; 
       points[i][j].text = getText; 
      } 
     } 

     for (int i = 0; i < points.length; i++) 
      for (int j = 0; j < points[i].length; j++) 
       System.out.println("X: " + points[i][j].pointX + " Y: " 
         + points[i][j].pointY + " YesNo: " 
         + points[i][j].yesNo 
         + " text: "+ points[i][j].text); 
    } 
} 

class Arr { 
    public float pointX; 
    public float pointY; 
    public boolean yesNo; 
    public String text; 
} 
0

我不是你想达到什么完全清楚,但Java不是PHP。 Java有一组广泛的集合,它会给你更好的覆盖范围,然后简单的数组。由于我不完全确定你要做什么,我不能真正告诉你哪些集合可以完成这项工作,但是你可以阅读诸如Maps和ArrayList之类的东西。

你可以做,每例如像

ArrayList<Arr> list = new ArrayList<Arr>(); 

的“编曲的ArrayList中同样可以做ArrayList<Arr, Arr>,或者如果你想用钥匙一起保存你的对象编曲与发现它开始与旅游工作。

一旦您使用的是Java集合,打印这些只是遍历它,喜欢的东西

for(Arr a : list){ 
    Log.d("my_tag", "My list contains"+a.toString()); 
} 
+0

这并不完全清楚,我想什么OP来实现,但正如斯特凡说,我肯定会用各种Java的一个去地图... – 2013-02-28 11:28:12

0

代替二维数组的最清晰的方式,你可以使用ArrayList

ArrayList<Arr> points = new ArrayList<Arr>(); 

现在,访问索引如下:

points.get(22).pointX OR points.get(10).text 

尝试打印ArrayList中points,看到有关字符串输出近:

System.out.println(points);