如何将可访问和可读的数组转换为另一种方法

时间:2014-09-22 20:51:58

标签: java arrays methods

我有一个数组:

public static void main(String[] args) { 
     [...] 
     String[] a = new String[x] ; 
     double[] b = new double[x] ; 
     [...]
}

我想创建一个方法,这个方法必须加载这个数组 (此方法在同一文件/类中)

public void datain() {
     [...]
     System.out.println( "Valor test:" + b[0] ) ;  
     [...]
}

有可能吗? 可以在datain方法中对数组“a”或“b”进行更改吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

例如:

public static void datain(double[] b) {
//...

然后你可以这样做:

public static void main(String[] args) { 
    [...] 
    String[] a = new String[x];
    double[] b = new double[x];
    datain(b);
    [...]
}

答案 1 :(得分:1)

实现目标有两种简单的方法。

首先,您可以将数组向上移动一级,并将其作为类的静态字段。

static String[] a;
static double[] b;

public static void main(String[] args) {
    a = new String[x] ;
    b = new double[x] ;
}

public void datain() {
    System.out.println( "Valor test:" + b[0] ) ;
}

这样可行,但从非静态方法修改静态字段通常是不好的方法。

其次,您可以将数组作为参数传递给datain方法:

public static void main(String[] args) {
    String[] a = new String[x];
    double[] b = new double[x];

    new DatainTest().datain(a, b);
}

public void datain(String[] a, double[] b) {
    System.out.println("Valor test:" + b[0]);
}

我认为DatainTest是您班级的名称。

也许你可以提供更多关于你要做什么的信息,因为有很多不同的方法可以将数据传递给方法,而选择正确的方法则高度依赖于你的目标。