本文目录导读:

我来为你介绍几种Java实现求和运算的常见案例,从基础到进阶:
基础数字求和
1 两个数求和
public class BasicSum {
public static void main(String[] args) {
int a = 10;
int b = 20;
int sum = a + b;
System.out.println(a + " + " + b + " = " + sum);
}
}
2 用户输入求和
import java.util.Scanner;
public class InputSum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个数字:");
int num1 = scanner.nextInt();
System.out.print("请输入第二个数字:");
int num2 = scanner.nextInt();
int sum = num1 + num2;
System.out.println("两数之和为:" + sum);
scanner.close();
}
}
数组求和
1 基础数组求和
public class ArraySum {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum = 0;
// 使用增强for循环
for (int num : numbers) {
sum += num;
}
System.out.println("数组元素之和为:" + sum);
}
}
2 使用Stream API求和
import java.util.Arrays;
public class StreamSum {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 使用Stream API
int sum = Arrays.stream(numbers).sum();
System.out.println("数组元素之和为:" + sum);
}
}
循环求和
1 1到100求和
public class LoopSum {
public static void main(String[] args) {
// 求1到100的和
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
System.out.println("1到100的和为:" + sum);
// 使用公式验证
int formulaSum = 100 * (100 + 1) / 2;
System.out.println("使用公式验证:" + formulaSum);
}
}
2 求偶数和
public class EvenSum {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
sum += i;
}
}
System.out.println("1到100的偶数和为:" + sum);
}
}
方法封装求和
1 定义求和方法
public class MethodSum {
// 求两个数的和
public static int sum(int a, int b) {
return a + b;
}
// 求数组的和
public static int sumArray(int[] arr) {
int sum = 0;
for (int num : arr) {
sum += num;
}
return sum;
}
// 可变参数求和
public static int sumVarArgs(int... numbers) {
int sum = 0;
for (int num : numbers) {
sum += num;
}
return sum;
}
public static void main(String[] args) {
System.out.println("两个数之和:" + sum(10, 20));
System.out.println("数组之和:" + sumArray(new int[]{1, 2, 3, 4}));
System.out.println("可变参数之和:" + sumVarArgs(1, 2, 3, 4, 5));
}
}
实用求和案例
1 学生成绩求和
import java.util.ArrayList;
import java.util.List;
public class StudentScoreSum {
public static void main(String[] args) {
List<Integer> scores = new ArrayList<>();
scores.add(85);
scores.add(92);
scores.add(78);
scores.add(95);
scores.add(88);
// 传统方式
int sum = 0;
for (int score : scores) {
sum += score;
}
// 使用Stream API
int sumStream = scores.stream().mapToInt(Integer::intValue).sum();
System.out.println("总成绩:" + sum);
System.out.println("平均分:" + (double)sum / scores.size());
}
}
2 货币求和(处理浮点数)
import java.math.BigDecimal;
public class MoneySum {
public static void main(String[] args) {
// 使用BigDecimal进行精确计算
BigDecimal price1 = new BigDecimal("19.99");
BigDecimal price2 = new BigDecimal("29.99");
BigDecimal price3 = new BigDecimal("9.99");
BigDecimal total = price1.add(price2).add(price3);
System.out.println("商品总价:" + total + "元");
}
}
进阶:工具类封装
public class SumUtils {
// 防止实例化
private SumUtils() {}
// 整数求和
public static int sum(int... nums) {
int result = 0;
for (int num : nums) {
result += num;
}
return result;
}
// 浮点数求和
public static double sum(double... nums) {
double result = 0;
for (double num : nums) {
result += num;
}
return result;
}
// 使用BigDecimal精确求和
public static BigDecimal sum(BigDecimal... nums) {
BigDecimal result = BigDecimal.ZERO;
for (BigDecimal num : nums) {
result = result.add(num);
}
return result;
}
}
// 使用示例
public class TestSumUtils {
public static void main(String[] args) {
System.out.println(SumUtils.sum(1, 2, 3, 4, 5));
System.out.println(SumUtils.sum(1.5, 2.3, 3.7));
BigDecimal result = SumUtils.sum(
new BigDecimal("10.50"),
new BigDecimal("20.30")
);
System.out.println("精确求和:" + result);
}
}
注意事项
- 数据类型选择:整数用
int或long,小数用double或BigDecimal - 溢出问题:大数相加时要考虑数据类型的范围
- 精度问题:涉及�金额计算时使用
BigDecimal - 输入验证:处理用户输入时要注意异常处理
根据具体的应用场景选择合适的求和方法,代码会更具可读性和可靠性。