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 に答える