在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