0

これはクラス用です。これまでに考え出した/完成したすべてを紹介します。

メソッド ヘッダーが与えられましたが、メソッド全体を記述する必要があります。ヘッダーは次のとおりです。

public static double[] solveQuadraticEquation(double a, double b, double c){

ご想像のとおり、2 次方程式を使用して x を解く単純な行をいくつか書く必要がありました。簡単です。私が混乱しているのは、ダブルの後の [] です。戻り値の型が double 配列であることを意味していると思いますか? どのように私はそれを書くでしょうか?value1 と value2 という 2 つの double 値を返したいとします。通常、私はそれらを次のように返します:

return value1;
return value2;

このシナリオではどう違うでしょうか?通常の方法で 2 つの値を返そうとすると、「required: double[], found: double」というエラーが表示されます。


編集:私はばかです。2 つの値を配列に入れる必要がありました。これがすぐに頭に浮かばなかった理由は、とにかく配列である必要がないように思われるからだと思います。

4

3 に答える 3

1

私が混乱しているのは、ダブルの後の [] です。戻り値の型が double 配列であることを意味していると思いますか?

はい double[] は、メソッドが double 配列を返すことになっていることを意味します。

メソッドは return ステートメントを 1 つしか持てないため、希望する 2 つの値を返すことはできません。代わりに、次のようなことを試してください。

return new double[]{value1, value2}  

後で次のような変数にアクセスします。

double[] result = solveQuadraticEquation(a,b,c)
//result[0] now containts value1 and result[1] contains value2
于 2013-09-02T01:55:11.650 に答える
1
return value1;
return value2;

returnコードが 1 つのステートメントにヒットすると、それだけでメソッドが完了するため、これは機能しません。

後に続くものreturnは、メソッド シグネチャで指定された型でなければなりません。たとえば、メソッド シグネチャで戻り値の型がs のdouble[]配列であると指定されている場合、ステートメントdoubleを含めるたびに、次のようにする必要があります。return

return array;

array倍精度配列です。type の変数double[]、つまりメソッドで前に宣言された配列、または次のような配列doubleを返す式のいずれかです。double

return new double[] {value1, value2};

pstantonの答えが含まれているように。

同様に、メソッド シグネチャで戻り値の型がたとえば であると指定されている場合、ステートメントHashMap<Integer, String>を記述するたびreturnに、単語の後にインスタンスreturnに評価される何かが続く必要がありHashMap<Integer, String>ます。

于 2013-09-02T01:49:12.407 に答える
0

まず、double は double [] とは異なることに注意してください。前者は前提データ型で、後者は配列です。

私がお勧めするのは、新しい配列 double [] root = new double [2]; を作成することです。2 つのルートをルート [0] とルート [1] にそれぞれ割り当てます。次に、その配列を返します。

于 2013-09-02T01:47:53.037 に答える