在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