2013-02-28 108 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);