package J20250801.homework; import java.util.ArrayList; import java.util.Random; import java.util.concurrent.*; /** * @author WanJl * @version 1.0 * @title Demo07 * @description * @create 2025/8/1 */ public class Demo07 { private static Random ran=new Random(); /** * 模拟计算用户月度消费 * @param userId 用户id * @return 消费金额(1000~5000) */ public static int getMonthlyConsumption(int userId) throws InterruptedException { //模拟计算耗时1~2秒 int i=1000+ran.nextInt(1001); Thread.sleep(i); //模拟生成随机消费金额 int amount=1000+ran.nextInt(4001); System.out.println("用户"+userId+"的月度消费计算完成:"+amount+"元"); return amount; } public static void main(String[] args) throws ExecutionException, InterruptedException { ExecutorService pool = Executors.newCachedThreadPool(); ArrayList> list=new ArrayList<>(); //提交5个用户的消费计算任务 for (int i = 0; i < 5; i++) { final int userId=i+1; Future future=pool.submit(()-> getMonthlyConsumption(userId)); list.add(future); } //等待所有任务全部完成后收集结果 int total=0; StringBuilder sb=new StringBuilder(); for (int i = 0; i < list.size(); i++) { final int userId=i+1; Integer amount = list.get(i).get(); total+=amount; sb.append("用户"+userId+"="+amount); if (i