网站建设中提示页面下载,做可直接下单购买的网站,关键词优化助手,余姚住房和建设局网站文章目录 一、利用RDD完成#xff08;一#xff09;右半菱形#xff08;二#xff09;左半菱形#xff08;三#xff09;完整菱形#xff08;四#xff09;输出任意大菱形 二、利用Java完成#xff08;一#xff09;右半菱形#xff08;二#xff09;左半菱形… 文章目录 一、利用RDD完成一右半菱形二左半菱形三完整菱形四输出任意大菱形 二、利用Java完成一右半菱形二左半菱形三完整菱形四输出任意大菱形 三、利用Scala完成一右半菱形二左半菱形三完整菱形四输出任意大菱形 四、实战总结一利用RDD完成二利用Java完成三利用Scala完成 一、利用RDD完成
一右半菱形
val rdd sc.makeRDD(List(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1))
val rdd1 rdd.map(* * _)
rdd1.collect.foreach(println)执行代码查看结果
二左半菱形
val rdd sc.makeRDD(List(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1))
val rdd1 rdd.map(i * (21 - i) * * i)
rdd1.collect.foreach(println)执行代码查看结果
三完整菱形
val rdd sc.makeRDD(List(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1))
val rdd1 rdd.map(i * ((21 - i) / 2) * * i)
rdd1.collect.foreach(println)四输出任意大菱形
由用户确定n值
import scala.collection.mutable.ListBuffer
val list new ListBuffer[Int]()
val n 51
(1 to n by 2).foreach(list.append(_))
(n - 2 to 1 by -2).foreach(list.append(_))
val rdd sc.makeRDD(list)
val rdd1 rdd.map(i * ((n - i) / 2) * * i)
rdd1.collect.foreach(println)执行代码查看结果
二、利用Java完成
导入所需类
一右半菱形
ListInteger data Arrays.asList(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1);
data [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1]
data.stream().map(i - *.repeat(i)).collect(Collectors.toList()).forEach(System.out::println)执行代码查看结果
二左半菱形
ListInteger data Arrays.asList(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1);
data [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1]
data.stream().map(i - .repeat(21 - i) *.repeat(i)).collect(Collectors.toList()).forEach(System.out::println)执行代码查看结果
三完整菱形
ListInteger data Arrays.asList(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1);
data [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1]
data.stream().map(i - .repeat((21 - i) / 2) *.repeat(i)).collect(Collectors.toList()).forEach(System.out::println)执行代码查看结果
四输出任意大菱形
由用户确定n
ListInteger list new ArrayList();
int n 51;
for (int i 1; i n; i 2) list.add(i);
for (int i n - 2; i 1; i - 2) list.add(i);
list.stream().map(i - .repeat((n - i) / 2) *.repeat(i)).collect(Collectors.toList()).forEach(System.out::println)执行代码查看结果
三、利用Scala完成
一右半菱形
val list List(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1)
val list1 list.map(* * _)
list1.foreach(println)执行代码查看结果
二左半菱形
val list List(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1)
val list1 list.map(i * (21 - i ) * * i)
list1.foreach(println)执行代码查看结果
三完整菱形
val list List(1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1)
val list1 list.map(i * ((21 - i ) / 2) * * i)
list1.foreach(println)执行代码查看结果
四输出任意大菱形
由用户确定n
import scala.collection.mutable.ListBufferval list new ListBuffer[Int]()
val n 51
(1 to n by 2).foreach(list.append(_))
(n - 2 to 1 by -2).foreach(list.append(_))
list.map(i * ((n - i) / 2) * * i).foreach(println)执行代码查看结果
四、实战总结
在本次实战中我们分别使用了RDD、Java和Scala三种方式来生成菱形图案。
一利用RDD完成
右半菱形首先创建一个包含奇数的列表然后使用map函数将每个元素转换为对应数量的*字符最后打印出结果。左半菱形与右半菱形类似只是在转换时增加了空格字符使图案向左对齐。完整菱形结合了左右半菱形的方法根据元素的位置添加不同数量的空格和*字符。输出任意大菱形由用户确定n值然后生成一个包含奇数和偶数的列表接着根据列表中的元素生成一个字符串列表并打印出结果。
二利用Java完成
右半菱形与RDD方法类似只是使用了Java的Stream API进行操作。左半菱形与RDD方法类似只是在转换时增加了空格字符使图案向左对齐。完整菱形结合了左右半菱形的方法根据元素的位置添加不同数量的空格和*字符。输出任意大菱形由用户确定n值然后生成一个包含奇数和偶数的列表接着根据列表中的元素生成一个字符串列表并打印出结果。
三利用Scala完成
右半菱形与RDD方法类似只是使用了Scala的List进行操作。左半菱形与RDD方法类似只是在转换时增加了空格字符使图案向左对齐。完整菱形结合了左右半菱形的方法根据元素的位置添加不同数量的空格和*字符。输出任意大菱形由用户确定n值然后生成一个包含奇数和偶数的列表接着根据列表中的元素生成一个字符串列表并打印出结果。