我有一个数组(Arr)。我用值填充points1和point2。
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;
}
这有效,但是当我有五个或更多时(点1,点2,点3 ...) 我如何制作“公共Arr积分[] []”?然后填写并获取值,例如points [0] [22] .pointX或points [1] [10] .text?
如何在PHP中看到像var_dump一样的points [] []数组?怎么列出数组? 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"
}
}
答案 0 :(得分: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;
}
答案 1 :(得分:0)
我不清楚你想要实现什么,但Java不是PHP。 Java有一套广泛的集合,它们将为您提供比简单数组更好的覆盖范围。
由于我不完全确定你要做什么,我无法真正告诉你哪些收藏可以完成这项工作,但你可以阅读像Maps和ArrayList这样的东西。
你可以制作一个'Arr's like
的ArrayListArrayList<Arr> list = new ArrayList<Arr>();
同样,您可以执行ArrayList<Arr, Arr>
,或者如果您想将对象Arr与密钥一起存储,则可以开始使用地图。
一旦你使用了Java Collection,打印这些的最清晰的方法就是循环遍历它,比如
for(Arr a : list){
Log.d("my_tag", "My list contains"+a.toString());
}
答案 2 :(得分:0)
您可以使用ArrayList
。
ArrayList<Arr> points = new ArrayList<Arr>();
现在,访问索引如下:
points.get(22).pointX OR points.get(10).text
尝试打印arraylist points
,以查看近似字符串输出:
System.out.println(points);
答案 3 :(得分:0)
您需要在类Arr中实现toString()方法,然后调用
Log.i("mytag", Arrays.toString(points1));
所述