网站建设知名,郑州软件开发公司招聘,wordpress redis手机,手机wap网页设计
高级大数据技术 实验一 scala编程
写的不是很好#xff0c;大家多见谅#xff01;
1. 计算水仙花数
实验目标;
#xff08;1#xff09; 掌握scala的数组#xff0c;列表#xff0c;映射的定义与使用
#xff08;2#xff09; 掌握scala的基本编程
实验说明 …
高级大数据技术 实验一 scala编程
写的不是很好大家多见谅
1. 计算水仙花数
实验目标;
1 掌握scala的数组列表映射的定义与使用
2 掌握scala的基本编程
实验说明
水仙花数是指其个位、十位、百位三个数的立方和等于这个数本身用Scala编程求出所有水仙花数。
概况描述 水仙花数Narcissistic number也被称为超完全数字不变数pluperfect digital invariant, PPDI、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数Armstrong number水仙花数是指一个 3 位数它的每个位上的数字的 3次幂之和等于它本身。例如1^3 5^3 3^3 153。
定义 水仙花数只是自幂数的一种严格来说3位数的3次幂数才称为水仙花数。
问题分析 根据“水仙花数”的定义判断一个数是否为“水仙花数”最重要的是要把给出的三位数的个位、十位、百位分别拆分并求其立方和设为s若s与给出的三位数相等 三位数为“水仙花数”反之则不是。
附其他位数的自幂数名字 一位自幂数独身数 三位自幂数水仙花数 四位自幂数四叶玫瑰数 五位自幂数五角星数 六位自幂数六合数 七位自幂数北斗七星数 八位自幂数八仙数 九位自幂数九九重阳数 十位自幂数十全十美数
代码实现 水仙花数是指其个位、十位、百位3个数的立方和等于这个数本身请用Scala编程求出100999之间的所有水仙花数。
object shuixainhua {
def main(args: Array[String]): Unit {for (num - 100 to 999) {val a num / 100val b num % 100 / 10val c num % 100 % 10if (a * a * a b * b * b c * c * c num) {println(num)}}}
}
shuixainhua.main(Array()) 使用scala编写函数过滤文本中的回文单词 实验目标;
3 掌握scala的数组列表映射的定义与使用
4 掌握scala的for循环与if判断的使用
5 掌握scala的函数式编程
实验说明
回文是指正向和逆向读起来相同的词英语中也存在着回文现象如“mom”和“dad”。
参照给出的英文文档word.txt,使用scala编程读取文件并且编写一个函数判断文档中的每个单词是否为回文单词若是则输出该单词。
实现思路及步骤
1读取word.txt数据将数据
2使用flatMap()方法获取缓存区里面的数据并使用空格进行分割。
3定义函数isPalindrom(word:String)
(4) 在函数中判断单词正向与逆向是否一样若是则输出该单词
5调用isPalindrom 函数
第一种
import scala.io.Source
def isPalindrome(word: String): Boolean {word.reverse word
}
val lines Source.fromFile(word.txt).getLines
val words lines.flatMap(line line.split( ))
words.filter(word isPalindrome(word)).foreach(println)第二种
import scala.io.Source
object PalindromeFilter {def main(args: Array[String]): Unit {val filePath word.txt // 更改为实际的文本文件路径// 读取文本文件数据val words Source.fromFile(filePath).getLines().flatMap(_.split( ))// 过滤回文单词并输出words.filter(isPalindrome).foreach(println)}// 判断单词是否为回文def isPalindrome(word: String): Boolean {word word.reverse}
}
PalindromeFilter.main(Array())使用scala编程输出九九乘法表 实验目标
1 掌握scala循环的使用
2 掌握scala函数式编程
实验说明
九九乘法表是我国古代人民的智慧结晶在春秋战国时代就已经在筹算中运算到明代则改良病用在算盘上。现需要使用scala编程输出九九乘法表要求输出效果如图所示
\3. 使用scala编程输出九九乘法表
实验目标
1 掌握scala循环的使用
2 掌握scala函数式编程
实验说明
九九乘法表是我国古代人民的智慧结晶在春秋战国时代就已经在筹算中运算到明代则改良病用在算盘上。现需要使用scala编程输出九九乘法表。
object MultiplicationTable {def main(args: Array[String]): Unit {for (i - 1 to 9) {for (j - 1 to i) {print(s$j x $i ${i*j}\t)}println()}}
}
MultiplicationTable.main(Array())