2016-03-22 2 views
2

問題1を解決するために、1000以下の3と5の倍数の合計を単純に計算するために、次のコードを書いています。(私はコンストラクタは必要ありません練習のためにそれを含めた)。外部ツールをJavaプロジェクトに保存する

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でこれと同様のプロセスがありますか?私はこれが私が他の場所で使うかもしれない方法であると感じるので、それに簡単にアクセスするのに役立ちます。

+0

たぶんJavaのライブラリは、あなたが探しているものでしょうか? http://stackoverflow.com/questions/3612567/how-to-create-my-own-java-libraryapi –

+0

'IntStream.range(0、1000).filter(i - > i%3 == 0 || i %5 == 0).sum(); ' – Andrew

+0

@AndrewTobilkoはプロジェクトオイラーのタグが[燃やされた]ことを認識しています(http://meta.stackoverflow.com/questions/275935/burninate-project-euler)。私は[静的]タグも削除しました。タグは質問が_about_でなければならず、それが何であるかではありません。 – gunr2171

答えて

1

基本的には、sumArray()を含むユーティリティクラスを作成します。もし1つのプロジェクト内でのみ、それを使用している場合は、Utilsのと呼ばれるクラスを作成しない静的メソッドを追加することができます。

public class Utils { 

    public static int sumArray(int[] Array){ 
     int sum = 0; 
     for (int item: Array) { 
      sum += item; 
     } 
     return sum; 
    } 

} 

あなたは次のように後でそれを使用することができるように:

int[] myArray = {1,2,3,4,5}; 
int sum = Utils.sumArray(myArray); 

しかし、あなたは、車輪を再発明し避けることができるようにJDK 8はすでに、そのようなことがあります。

Arrays.stream(myArray).sum(); 
+0

それはまさに私が後にしたことです、ありがとう。私はそのような単純な方法が既に存在していなければならないと思っていました。それを作成し、それを後で関数として呼び出す方法を理解しようとしていました。ご協力いただきありがとうございます。 –

関連する問題