1

get1()方法返回一个数组。我确实得到了输出,但值get1()来自[D@addbf1

我的问题是有什么方法可以直接使用返回的数组来获取值inf1[0]inf1[1]在输出语句中显示它?

我知道显示输出的其他方式。但我想知道我是否可以直接检索返回数组的元素。

class vehicle{
   double [] inf1 = new double[2];
   void set(double d, double s) {
     inf1[0]=d;
     inf1[1]=s;
   }
   double[] get1() {
     return inf1;
   }
}

public class calc2 {
   public static void main(String args[]) {
     vehicle ob = new vehicle();
     ob.set(56.24, 75);
     System.out.println("The time taken to cover "+ob.get1());
   }
}
4

4 回答 4

6

我的问题是有什么方法可以直接使用返回的数组来获取 inf1[0] 和 inf1[1] 中的值并在输出语句中显示出来?

当然:

double[] result = obj.get1();
System.out.println("Result: " + result[0] + "," + result[1]);

或者:

System.out.println("Result: " + Arrays.toString(obj.get1());

[D@addbf1只是调用数组的结果。toString()如果要获取数组中的值,通常只需使用数组索引表达式单独访问每个元素:array[index]

(尚不清楚您的问题是否真的是关于访问数组值,或者将数组转换为文本以用于显示目的。)

于 2012-07-09T18:10:49.973 回答
1

get1()是的,您可以通过以下方法引用数组的元素:

get1()[0]将工作。

于 2012-07-09T18:11:16.047 回答
1

尝试

System.out.println("The time taken to cover "+ob.get1()[0]);

ob.get1()将返回您的数组,以便您现在可以使用[index]它。

于 2012-07-09T18:12:02.123 回答
1

您可以使用像 ArrayList 这样的集合类。

宣布 ArrayList<double> inf1 = new ArrayList<double>();

在 get1()

inf1.add(d);
inf1.add(s);

在 calc2 中, System.out.println("The time taken to cover "+ob.get1());

于 2012-07-09T18:17:40.080 回答