Java如何求n個數位的和?

2019-10-16 22:28:58

在Java程式設計中,如何求n個數位的和?

以下範例演示了如何使用堆疊的概念來將n個自然數相加求和。

package com.yiibai;

import java.io.IOException;

public class SummationOfNumbers {
    static int num;
    static int ans;
    static Stack theStack;

    public static void main(String[] args)

            throws IOException {
        num = 10;
        stackAddition();
        System.out.println("Sum=" + ans);
    }

    public static void stackAddition() {
        theStack = new Stack(10000);
        ans = 0;
        while (num > 0) {
            theStack.push(num);
            --num;
        }
        while (!theStack.isEmpty()) {
            int newN = theStack.pop();
            ans += newN;
        }
    }
}

class Stack {
    private int maxSize;
    private int[] data;
    private int top;

    public Stack(int s) {
        maxSize = s;
        data = new int[maxSize];
        top = -1;
    }

    public void push(int p) {
        data[++top] = p;
    }

    public int pop() {
        return data[top--];
    }

    public int peek() {
        return data[top];
    }

    public boolean isEmpty() {
        return (top == -1);
    }
}

上述程式碼範例將產生以下結果 -

Sum=55

範例-2

以下是求n個自然數之和的另一個例子

package com.yiibai;

public class SummationOfNumbers2 {
    public static void main(String[] args) {
        int sum = 0;
        int n = 10;
        for (int i = 1; i <= n; i++) {
            sum = sum + i;
        }
        System.out.println("The Sum Of  " + n + " is : " + sum);
    }
}

上述程式碼範例將產生以下結果 -

The Sum Of  10 is : 55