爪哇 - 添加值的二维数组和如何看待阵列? [英] Java - Add values to two-dimensional Array and how see the array?

查看:115
本文介绍了爪哇 - 添加值的二维数组和如何看待阵列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数组(ARR)。我填写points1和points2与价值观。

 公共类编曲{
    浮pointX;
    浮尖尖的;
    布尔YESNO;
    字符串文本;
}公共编曲points1 [];
公共编曲points2 [];points1 =新编曲[100];
的for(int i = 0; I< 100;我++)points1 [I] =新编曲();为(中间体J = 0; J&小于100; J ++){
    points1 [J] .pointX = getFloat;
    points1 [J] .pointY = getFloat;
    points1 [J] .yesNo = getBoolean;
    points1 [J]的.text =的getText;
}points2 =新编曲[100];
为(中间体X = 0; X&小于100; X ++)points2 [X] =新编曲();对于(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 ...)
我怎样才能让公共编曲点[] []?然后填写并获得与例如值点[0] [22] .pointX或点[1] [10]的.text

和我怎么能看到点[] []像PHP中的var_dump阵列?如何列出阵列?
例如的var_dump:

 阵列(3){
  [0] =>
  INT(1)
  [1] =>
  INT(2)
  [2] =>
  阵列(3){
    [0] =>
    串(1)的a
    [1] =>
    串(1)b的
    [2] =>
    字符串(1)C
  }
}


解决方案

这是一个工作示例

 包com.stackoverflow.q15134193;公共类的Test1 {
    公共静态编曲[] []点;
    静浮getFloat = 1;
    静态布尔getBoolean = TRUE;
    静态字符串的getText =HI;    公共静态无效的主要(字串[] args){        点=新的编曲[100] [];
        的for(int i = 0; I< points.length;我++){
            点[I] =新的编曲[100];
            对于(INT J = 0; J<点[I]。长度; J ++)
                点[I] [J] =新编曲();
        }        的for(int i = 0; I< points.length;我++){
            对于(INT J = 0; J<点[I]。长度; J ++){
                点[I] [J] .pointX = getFloat;
                点[I] [J] .pointY = getFloat;
                点[I] [J] .yesNo = getBoolean;
                点[I] [J]的.text =的getText;
            }
        }        的for(int i = 0; I< points.length;我++)
            对于(INT J = 0; J<点[I]。长度; J ++)
                的System.out.println(X+分[I] [J] .pointX +Y
                        +点[I] [J] .pointY +YESNO:
                        +点[I] [J] .yesNo
                        +的文字:+分[I] [J]的.text);
    }
}一流的编曲{
    公众持股量pointX;
    公众持股量尖尖的;
    公共布尔YESNO;
    公共字符串文本;
}

I have an array (Arr). I fill points1 and points2 with values.

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

This works, but what is, when I have five of them or more (points1, points2, points3...) How can I make "public Arr points[][]"? And then fill and get the values with e.g. points[0][22].pointX or points[1][10].text?

And how can I see the points[][] array like var_dump in PHP? How list the array? var_dump example:

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

解决方案

This is a working example

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

这篇关于爪哇 - 添加值的二维数组和如何看待阵列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆