如何使用printf打印双打的arraylist的第一个值

时间:2018-03-29 01:47:01

标签: java

我知道如何使用println打印第一个值,只需

System.out.println(list.get(0));

但这对printf不起作用。我需要知道这是一本计算机科学学习指南。所以它必须是printf。

printf代码和错误

System.out.printf(list.get(0));

方法PrintStream.printf(String,Object ...)不适用 (参数不匹配; Double不能转换为String) 方法PrintStream.printf(Locale,String,Object ...)不适用 (参数不匹配; Double无法转换为Locale) 1错误

4 个答案:

答案 0 :(得分:4)

一个简单的答案

     double dVal = 3.14;
     System.out.printf("%f", dVal);

请参阅https://docs.oracle.com/javase/tutorial/java/data/numberformat.html

和note格式和printf相互等同。

答案 1 :(得分:0)

你可以得到这样的结果

List<Double> list = new ArrayList<>();
    list.add(1);
    list.add(2);
    list.add(3);

    System.out.printf("%f", list.get(0));

答案 2 :(得分:0)

System.out.printf()语句用于格式化字符串。这样做的一种方法是使用.toString()方法

将双精度转换为字符串

System.out.printf((list.get(0).toString()));

另一种方法是使用格式说明符和转换字符(例如%f)来包含双值。

System.out.printf("%.1f", list.get(0));

答案 3 :(得分:-1)

您可以尝试这样的事情:

    List<Double> myList = new ArrayList();
    myList.add(23.0);
    myList.add(3.0);
    System.out.printf(myList.get(0).toString());