使用lambda表达式求某个工厂n个订单增加12%的税后,总金额是多少。 【输入形式】 第一行有一个整数n(1<= n <= 100),表示订单数。第二行有n个整数,每个整数表示每笔订单的金额。整数之间用空格分隔。 【输出形式】 输出总金额,小数点后保留两位小数。 【输入形式】 3 4 5 6 【输出形式】 16.80
时间: 2024-03-12 16:43:27 浏览: 104
可以使用lambda表达式和Java 8中的Stream API来实现该功能。具体实现过程如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.nextLine(); // 读取换行符
double total = scanner.nextLine().trim().split("\\s+")
.stream()
.mapToDouble(Double::parseDouble)
.map(x -> x * 1.12)
.sum();
System.out.printf("%.2f\n", total);
}
}
```
输入订单数和每个订单的金额后,使用`scanner.nextLine()`读取换行符。然后,使用`scanner.nextLine().trim().split("\\s+")`读取整行数据,去除首尾空格并使用空格分隔字符串,得到一个字符串数组。接着,使用`stream()`方法将该数组转换为一个流。然后,使用`mapToDouble(Double::parseDouble)`方法将字符串转换为double类型,并使用`map(x -> x * 1.12)`方法将每个订单的金额增加12%的税后总金额计算出来,最后使用`sum()`方法求和得到总金额。最后,使用`System.out.printf("%.2f\n", total)`方法输出总金额,保留两位小数。
阅读全文