2017-05-07 5 views
-1

私はこのコードで助けが必要な2つの異なる問題があります。最初はconvertToFahです。私はコンストラクタで配列を使用し、華氏(摂氏(二重値)* 9.0/5.0 + 32)に変換するための数式を使用して各ダブルを変換し、それを返す必要があります(私はいつもダブル私が試してみると[]を2倍にする)。 2番目は、maxMonth/minMonthをmax/min値と同じインデックスにある月に設定する必要があることです。 (したがって、最大値が10で配列が3の場合、月は4月となります)。どんな助けも素晴らしいだろう。 (それが本当に現時点では問題ではありませんので、ところで、私は単にまだのtoStringをもらっていない。)配列のために私のコードに固執

public class Temp { 
private String [] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; 

public Temp(){ 
    double array[],avg = 0, max = 0, min = 0; 
    String maxMonth= null, minMonth = null; 
    } 
public double convertToFah(double array[]){ 
    for(int index = 0; index < array.length; index++){ 

    } 
} 
public double calAvg(double avg, double array[]){ 
    double sum = 0.0; 

    for(int index = 0; index < array.length; index++){ 
       sum = sum + array[index]; 
    } 

    return avg = sum /array.length; 

} 
public double findMin(double array[], double min, String minMonth){ 
    for (int index = 0; index < array.length; index++) { 
     if (array[index] < min){ 
      min = array[index]; 
     } 
    } 

    return min; 
} 
public double findMax(double array[], double max, String maxMonth){ 
    for (int index = 0; index < array.length; index++) { 
     if (array[index] > max){ 
      max = array[index]; 
      return max; 
     } 
    } 

    return max; 

} 

}

+2

「私はこのコードで助けが必要な2つの問題があります」 - 投稿ごとに* 1つの問題について質問し、その問題に関連するコードのみを含めるようにしてください - 投稿を編集して[mcve] 1つの問題。 –

+2

そして実際に質問してください。 "私は_X_が必要です"という質問はありません。 –

+1

引数と戻り値について混乱しているようです。たとえば、メソッドcalAvgでは、メソッドは値の配列を入力(引数)として取り、これらの値の平均を出力(戻り値)として計算することになっています。それはなぜ議論として平均値を取るのですか?また、引数で行うと思われるconvertToFahは何ですか?また、返されるものは何ですか?私のアドバイス:メソッドの実装を開始する前にjavadocを書いてください。すべての議論が何であるか、そしてその方法が何を返すかを定義する。 –

答えて

0

なく、あなたの2番目の質問ですが、私はあなたの最初のを前提としているかわからを一つは温度を変換してアレイに戻すことです。あなたが唯一の「ダブル」を書き込むことにより、関数内の三つの値(平均、最小、最大)を返すことはできません

for(int index = 0; index < array.length; index++){ 
    array[index] = array[index] * 9.0/5.0 + 32; 
} 
+0

その問題は、私は "'double []からdouble型に変換することはできません。 (編集:nvm私は方法を修正しなければならなかったが、助けてくれてありがとう!) –

+0

は私の側でうまくいく。 –

0

あなたが返すことができますので、あなたは、「[]をダブル」を実行する必要があります。次のコードを試してみてくださいあなたが得るのと同じこと。 したがって、この関数は次のようになります。

public double[] convertToFah(double array[]){ 

    double[] fahValue; 

    for(int index = 0; index < array.length; index++){ 
     fahValue[index] = (array[index] * 1.8) + 32; // this is what i found on the internet, as i didn't really get what you wrote 
    } 

    return fahValue; 
} 

その後、あなたヶ月の問題のために。私が正しいとすれば、その月の最低値と最高値を取得したいとします。そうであれば、あなたの関数はきちんと作られています。エラーはほんの少しです。ここで

は修正機能です:

public double findMin(double array[]){ 

    double min = 999; // I set here the value to a high number to get a smaller one after 

    for (int index = 0; index < array.length; index++) { 

     // if the value is smaller than the previous smallest 
     if (array[index] < min){ 
      min = array[index]; 
     } 
    } 

    return min; 
} 


public double findMax(double array[]){ 

    double max = 0; 

    for (int index = 0; index < array.length; index++) { 
     if (array[index] > max){ 
      max = array[index]; 
      // return max; <- delete this line, let the return after the for function 
     } 
    } 

    return max; 
} 

あなたは、私が何か他のもののいずれかを書かれているかについてのいずれかの多くの質問がある場合は、お気軽にお問い合わせください:)

1

変更の戻り値の型public double convertToFah(double array[])からdouble[]の場合は、華氏に変換された温度の倍数配列を返すためです。あなたが最大/最小温度と月を取得したい場合は

public double[] convertToFah(double array[]) // returns double array 

さて、あなたはmonthを見つけるためにindexことを使用することができ、最大/最小温度のindexを返すために、あなたのfindMin & findMax方法を変更します。

public int findMax(double array[], double max, String maxMonth){ 
    int max_index = 0; 
    for (int index = 0; index < array.length; index++) { 
     if (array[index] < max){ 
      max = array[index]; 
      max_index = index; 
     } 
    } 
    return max_index; 
} 

findMaxのための同じ

public int findMin(double array[], double min, String minMonth){ 
    int min_index = 0; 
    for (int index = 0; index < array.length; index++) { 
     if (array[index] < min){ 
      min = array[index]; 
      min_index = index; 
     } 
    } 
    return min_index; 
} 

は...あなたは分の月を取得するminMonth = months[findMin(array, min, minMonth)];のように行うことができます。

関連する問題