Java 使用while循环计算列表中数字
介绍
使用while循环计算列表中数字的Java程序是一个简单的程序,它接受一个整数列表并使用while循环计算它们的总和。在该程序中,创建了一个整数类型的ArrayList,并向列表中添加了一些数字。然后,程序使用while循环迭代列表中的每个元素,将每个元素添加到变量”sum”中,该变量跟踪数字的累加和。循环结束后,将”sum”的最终值打印到控制台,即列表中所有数字的总和。
这个程序演示了在编程中处理数据集合的常见技术,即使用循环迭代集合中的每个元素并对每个元素进行一些计算或转换。该程序还突出了在Java中使用ArrayList的用法,它是一种常用的用于存储数据集合的数据结构。
示例1
实现
- 首先,我们创建一个名为”numbers”的整数ArrayList,并向其中添加一些数字。在这个程序中,我们添加了数字1、2、3、4和5。
-
然后,我们声明两个变量 – “sum”和”i”。”sum”初始化为0,因为我们想从零开始计算数字的总和。”i”初始化为0,因为这是我们要开始添加到总和的列表中的第一个数字的索引。
-
我们开始一个while循环,只要”i”小于列表的大小,就会继续执行。可以使用ArrayList类的”size”方法获取列表的大小。
-
在循环内部,我们使用ArrayList类的”get”方法检索列表中的当前数字,并将其添加到总和中。然后递增”i”以移动到列表中的下一个数字。
-
循环完成后,我们已经计算出列表中所有数字的总和。我们使用”println”方法打印出总和。
总的来说,这种方法相对简单直接。它使用while循环迭代列表的元素,并将它们的总和累积在一个单独的变量中。这是在编程中处理列表和其他数据集合的常用技术。
下面是一个使用while循环计算列表中数字总和的Java程序:
import java.util.ArrayList;
public class SumOfListUsingWhileLoop {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
int sum = 0;
int i = 0;
while (i < numbers.size()) {
sum += numbers.get(i);
i++;
}
System.out.println("The sum of the numbers in the list is: " + sum);
}
}
解释
在这个程序中,我们首先创建一个整数ArrayList,名为”numbers”,并向其中添加一些数字。然后,我们声明两个变量:”sum”(初始化为0)用于存储列表中数字的总和,”i”(初始化为0)用于跟踪我们正在将其添加到总和中的当前数字的索引。
接下来,我们开始一个while循环,只要”i”小于列表的大小就会继续执行。在循环内部,我们将列表中的当前数字(使用”get”方法检索)添加到总和中,并递增”i”以移动到列表中的下一个数字。
最后,一旦循环结束,我们使用”println”方法打印出列表中数字的总和。
输出
The sum of the numbers in the list is: 15
示例2
方法
- 首先,我们创建一个名为”numbers”的Double值的ArrayList,并向其添加一些数字。在这个程序中,我们向列表中添加了数字2.5、3.7、1.8、4.2和2.9。
-
然后,我们声明两个变量:”sum”和”i”。”sum”被初始化为0.0,因为我们希望从零开始计算数字的总和。”i”被初始化为0,因为这是列表中我们希望开始将数字添加到总和的第一个数字的索引。
-
我们开始一个while循环,只要”i”小于列表的大小,循环就会继续。可以使用ArrayList类的”size”方法获取列表的大小。
-
在循环内部,我们使用ArrayList类的”get”方法检索列表中的当前数字,并将其添加到总和中。然后,我们将”i”增加1,以移动到列表中的下一个数字。
-
一旦循环结束,我们就计算出了列表中所有数字的总和。我们使用”println”方法打印出总和。
总的来说,这个程序中使用的方法与前面的示例非常相似。我们使用while循环迭代列表的元素,并将它们的总和累积到一个单独的变量中。然而,在这种情况下,我们使用的是Double值而不是整数值,这样可以在我们的数字中包含小数位。此外,我们在列表中使用了不同的一组数字,以说明程序能够处理各种输入值。
以下是使用while循环计算列表中数字总和的另一个Java程序的示例-
import java.util.ArrayList;
public class SumOfListUsingWhileLoop2 {
public static void main(String[] args) {
ArrayList<Double> numbers = new ArrayList<Double>();
numbers.add(2.5);
numbers.add(3.7);
numbers.add(1.8);
numbers.add(4.2);
numbers.add(2.9);
double sum = 0.0;
int i = 0;
while (i < numbers.size()) {
sum += numbers.get(i);
i++;
}
System.out.println("The sum of the numbers in the list is: " + sum);
}
}
解释
在这个程序中,我们创建了一个名为”numbers”的Double类型的ArrayList,并向其中添加了一些数字。然后,我们声明了两个变量:”sum”(初始化为0.0),用于存储列表中数字的总和,并且”i”(初始化为0)用于跟踪我们正在添加到总和中的当前数字的索引。
接下来,我们开始一个while循环,只要”i”小于列表的大小,就会继续执行。在循环内部,我们将列表中的当前数字(使用”get”方法检索)加到总和中,并增加”i”以移动到列表中的下一个数字。
最后,一旦循环结束,我们使用”println”方法打印出列表中数字的总和。请注意,在这个示例中,我们使用的是Double类型的值而不是Integer类型的值,这允许我们在数字中包含小数位。
输出
The sum of the numbers in the list is: 1.5
结论
-
在本文中,我们讨论了两个使用while循环计算列表中数字总和的Java程序的示例。在这两个示例中,我们使用了类似的方法来迭代列表中的每个元素,将它们的总和累积在一个单独的变量中,然后输出结果。
-
我们还讨论了这些程序的时间复杂度和空间复杂度。这两个程序的时间复杂度都是O(n),其中n是列表中元素的数量,因为我们需要迭代列表中的每个元素来计算它们的总和。这两个程序的空间复杂度都是O(1),因为我们只需要使用少量变量来存储输入列表、运行总和和循环计数器,并且这些变量的大小不取决于输入的大小。