gpt4 book ai didi

java - 根据用户输入构造 double 值数组

转载 作者:行者123 更新时间:2023-12-01 10:03:11 24 4
gpt4 key购买 nike

所以我想制作一个程序,提示用户输入任意数量的 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 是存储用户输入的最佳方法吗?这是获得总和的最正确方法吗?谢谢!

最佳答案

按照下面的代码片段修改 whilefor 循环。在 while 循环中,只需直接使用 Scanner 的 hasNextDouble() 方法,并在输入值时将值添加到 Arraylist 中。在 for 循环中,您不需要将值解析为整数,因为 sum 是 double,这是 Arraylist 的数据类型。 Arraylist 适合您的情况,因为您不确定将从用户那里获得多少值;数组列表的大小是可以调整的。

  while (keyboard.hasNextDouble()) {
nums.add(keyboard.nextDouble());
}
keyboard.close();
System.out.println(nums);
double sum = 0;
for (int i = 0; i < nums.size(); i++) {
sum += nums.get(i);
}
System.out.println(sum);

关于java - 根据用户输入构造 double 值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36660223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com