6-2 喜欢的数字

使用一个字典来存储一些人喜欢的数字。请想出5个人的名字,并将这些名字用作字典中的键;想出每个人喜欢的一个数字,并将这些数字作为值存 储在字典中。打印每个人的名字和喜欢的数字。为让这个程序更有趣,通过询问朋友确保数据是真实的。

favorite_numbers = {
    'a': 4,
    'b': 6,
    'c': 9,
    'd': 2,
    'e': 10
    }
print("The favorite_number of 'a' is "+str(favorite_numbers['a']))
print("The favorite_number of 'b' is "+str(favorite_numbers['b']))
print("The favorite_number of 'c' is "+str(favorite_numbers['c']))
print("The favorite_number of 'd' is "+str(favorite_numbers['d']))
print("The favorite_number of 'e' is "+str(favorite_numbers['e']))

### Java 中组求和的方法 在 Java 编程语言中,可以通过多种方式来实现组元素的求和操作。以下是几种常见的方法及其对应的代码示例。 #### 使用增强型 `for` 循环 通过增强型 `for` 循环可以方便地遍历组并累加其元素值。这种方法简单直观,易于理解。 ```java public class ArraySumExample { public static void main(String[] args) { int[] numbers = { 2, 4, 6, 8, 10 }; int sum = 0; for (int num : numbers) { sum += num; } System.out.println("组元素之和为:" + sum); } } ``` 上述代码展示了如何利用增强型 `for` 循环完成整组的求和操作[^1]。 #### 使用传统 `for` 循环 如果需要更多的控制权或者处理的是浮点类型的组,则可以选择传统的索引访问方式进行求和。 ```java public class Java265TestArray{ public static void main(String[] args) { double[] myList = {8,9,1,2,3,3}; double total = 0; for (int i = 0; i < myList.length; i++) { total += myList[i]; } System.out.println("组之和: " + total); } } ``` 此段代码说明了当面对双精度浮点类型的据时,采用标准循环结构同样能够有效达成目标[^2]。 #### 利用递归机制 对于喜欢挑战不同算法思路的人来说,还可以尝试运用递归来解决这一问题。下面给出两种不同的递归解决方案: ##### 方案一 定义了一个类成员变量用于存储累积的结果,在每次调用过程中更新当前值直到达到终止条件为止。 ```java package com.smbea.demo; public class Student { private int sum = 0; /** * 递归求和 * @param num 当前待处理数字 */ public void sum(int num) { this.sum += num--; if(0 < num){ sum(num); } else { System.out.println("sum = " + sum); } } public static void main(String[] args) { new Student().sum(5); // 测试输入参为5的情况 } } ``` 该实例体现了基本形式下的递归逻辑设计[^3]。 ##### 方案二 另一种更为通用的形式如下所示: ```java package com.smbea; public class RecursiveSum { public static int recursiveSum(int[] array, int index) { if(index >= array.length){ return 0; } return array[index] + recursiveSum(array, ++index); } public static void main(String[] args) { int[] data = {1,2,3,4,5}; System.out.println(recursiveSum(data, 0)); } } ``` 这段程序提供了一种更加灵活且可扩展性强的方式来进行组求和运算。 #### Stream API 结合 Reduce 函 自 JDK 8 起引入的功能强大的流式编程接口——Stream API 提供了许多便捷的操作符其中就包括 reduce() 方法可用于简化集合据上的聚合计算过程比如求组所有项相加之结果等场景下非常适用. ```java import java.util.Arrays; public class SumWithReduce { public static void main(String[] args) { Integer[] nums = {1, 2, 3, 4, 5}; // 使用reduce函进行求和 int result = Arrays.stream(nums).reduce(0,(subtotal, element)-> subtotal+element); System.out.println(result); } } ``` 这里展现了现代Java版本里推荐使用的高效简洁写法之一即借助于Streams框架内部封装好的工具集轻松搞定原本复杂的业务需求同时还能兼顾性能表现方面的要求[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值