0

10 進数の配列と 10 進数のしきい値を引数として取るメソッドを作成しています。このメソッドは、リストからしきい値より大きいすべての数値を出力する必要があります。

私の計画は、for ループを実行して配列内の各数値を調べ、その数値 (i) がしきい値 (x) より大きい場合、結果リストに追加することです。私の問題は、結果リストに追加/追加できないことです。

System.out.println("Nothing here");実際に for ループを通過しているかどうかを確認する必要がありますが、IDE は呼び出しが間違っていると言っていlist.add(a[i]);ます。私は初心者のプログラマーで、これを修正する方法がわかりません。これが私のコードです:

public class a10 {

    public static void main(String[] args) {
        double a[] = {42, 956, 3,4};
        threshold(a, 2);
    }

    public static void threshold(double[] a, double x){
        double list[] = {};

        for (double i:a){
            if (i<22){
                list.add(a[i]);
            }else{
                System.out.println("Nothing here");
            }
    }
}
4

2 に答える 2

3

リストは実際には配列(double[])であり、メソッドを持つオブジェクトではありませんadd。通常の配列として扱う必要があります(この場合、空の配列に初期化されています。つまり、要素を設定できません)。

代わりにLisの実際の実装(たとえば)を使用する必要があります。そうすれば、実際に次のメソッドArrayListを使用できます。add

 List<Double> result = new ArrayList<Double>();
 for (double i:a){
      if (i>x){ 
          list.add(a[i]);
      }else{
          System.out.println("Nothing here");
      }
 }

番号「22」がハードコーディングされていることにも注意してください(使用する必要がありますx

于 2012-11-25T15:02:14.877 に答える
0

addJavaには配列のメソッドはありません。リストは次のように宣言する必要があります。

List<Double> list = new ArrayList<Double>(); //or some other type of list
于 2012-11-25T15:02:15.457 に答える