【发布时间】:2016-03-23 09:31:24
【问题描述】:
我编写了以下代码来解决问题 1,即简单地计算 1000 以下的所有 3 和 5 的倍数的总和。(我意识到我不需要构造函数,我只是为了练习而包含它)。
public class p1multiplesOf3and5 {
public p1multiplesOf3and5() {
//Constructor
}
public int sumArray(int[] Array){
int sum = 0;
for (int item: Array) {
sum += item;
}
return sum;
}
public int sumMultiples3and5(int limit) {
int[] multiples = new int[limit];
int count = 0;
for (int i=1; i<limit; i++){
if (i%3==0 || i%5==0) {
count++;
multiples[count] = i;
}
}
int total = sumArray(multiples);
return total;
}
public static void main(String args[]) {
p1multiplesOf3and5 x = new p1multiplesOf3and5();
int t = x.sumMultiples3and5(1000);
System.out.println("Total is: " + t);
}
}
我的问题是基于我创建和使用的 sumArray 方法。我有使用 MATLAB 的背景,例如,在某些项目中,我创建了一个 +tools 文件夹,并将其保存为该文件夹中的一个函数。任何时候我想使用它,我都可以编写 tools.sumArray() 来调用它。
在 Java 中是否有类似的过程?因为我觉得这是一种我可能会在其他地方使用的方法,并且可以方便地访问它以及我创建的任何其他方法。
【问题讨论】:
-
也许您正在寻找一个 Java 库? stackoverflow.com/questions/3612567/…
-
IntStream.range(0, 1000).filter(i -> i % 3 == 0 || i % 5 == 0).sum(); -
@AndrewTobilko 请注意 project-euler 标记是 burned。我还删除了 [static] 标签;标签应该是关于的问题,而不是它包含的内容。
标签: java