0

メソッドを介してa にfloat値を追加したい。しかし、私はこのエラーが発生しています...float ArrayList.add()

no suitable method found for add(double)
method java.util.ArrayList.add(int,java.lang.Float) is not applicable
  (actual and formal argument lists differ in length)
method java.util.ArrayList.add(java.lang.Float) is not applicable
  (actual argument double cannot be converted to java.lang.Float by method invocation conversion)

これは私のコードです...

class Exercise {
    public static void main(String[] args) {
        ArrayList<Float> floatList = new ArrayList<Float>();
        floatList.add(10.0);
        floatList.add(15.5);
        floatList.add(18.0);
        floatList.add(29.5);
        floatList.add(45.5);

        for(Float num : floatList){
            System.out.println("\n"+ num);
        }
    }
} 

誰かがこの問題を手伝ってくれませんか。

4

3 に答える 3

5

デフォルトでは、Java はdouble精度に使用します。浮動小数点数を指定する場合は、次のようにする必要があります。

ArrayList<Float> floatList = new ArrayList<Float>();
floatList.add(10.0f);
floatList.add(15.5f);
floatList.add(18.0f);
floatList.add(29.5f);
floatList.add(45.5f);
于 2012-06-21T01:36:38.443 に答える
1

これは、ArrayList がプリミティブではなくオブジェクトしか保持できないためです。int、float、boolean などはプリミティブと呼ばれ、オブジェクトと同じではないことに注意してください。これを機能させるには、float を次のように Float ラッパーに入れます。

Float myFloat = new Float(15.0f);

于 2012-06-21T01:38:06.633 に答える
-2
    import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.lang.math.NumberUtils;

/**
 *
 * @author electric grasshoper
 */
public class qweqweqweqwe {

    public static void main(String[] args) {
        //Float floatList;
        ArrayList<Float> floatList = new ArrayList<Float>();
        floatList.add(10.0f);
        floatList.add(15.5f);
        floatList.add(18.0f);
        floatList.add(29.5f);
        floatList.add(45.5f);

        for(Float num : floatList){
            System.out.println("\n"+ num);
        }
  }
}
于 2012-06-21T01:40:02.223 に答える