从用户输入构造double值数组

时间:2016-04-16 04:48:18

标签: java arrays

所以我想生成一个程序,在该程序中,用户被提示输入任意数量的Double值,程序将这些值存储在一个数组中直到EOF(当用户按下ctl + d时),然后打印这些数字的总和以输出。这就是我到目前为止所做的:

import java.io.*;
import java.util.*;

public class ArrayExample {

 public static void main(String[] args) {

  Scanner keyboard = new Scanner(System.in);
  System.out.print("Enter line: ");
  ArrayList<Double> nums = new ArrayList<Double>();
  double input = keyboard.nextDouble();

  while (input.hasNextLine()) {
   input = keyboard.nextDouble();
  }
  System.out.print(nums);
  double sum = 0;
  for (int i = 0; i < nums.size(); i++) {
   sum+=Integer.parseInt(nums.get(i));
  System.out.println(sum);
  }
 }
}

我的问题是如何使用循环来保持读取输入双精度直到EOF,ArrayList是存储用户输入的最佳方式,并且这是获得总和的最正确方法吗?谢谢!

1 个答案:

答案 0 :(得分:1)

根据下面的代码段修改 if (addressList.size() > 0) { Address address = addressList.get(0); LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude()); map.addMarker(new MarkerOptions().position(latLng).title("Find Pro")); map.animateCamera(CameraUpdateFactory.newLatLng(latLng)); } while循环。在while循环中,只需直接使用Scanner的for方法,并在输入时为 Arraylist 添加值。在hasNextDouble()循环中,您不需要将值解析为整数,因为sum是双精度数,它是您的Arraylist的数据类型。 Arraylist适合您的情况,因为您不确定您将从用户获得多少值; Arraylists可以调整大小。

for