当前位置:网站首页 > Scala编程 > 正文

scala编程思想_bash编程

实验目的

1.掌握Scala语言的基本语法、数据结构和控制结构;

2.掌握面向对象编程的基础知识,能够编写自定义类和特质;

3.掌握函数式编程的基础知识,能够熟练定义匿名函数。熟悉Scala的容器类库的基本层次结构,熟练使用常用的容器类进行数据;

4.熟练掌握Scala的REPL运行模式和编译运行方法。

实验内容

1. 计算水仙花数

实验目标;

(1)   掌握scala的数组,列表,映射的定义与使用

(2)   掌握scala的基本编程

实验说明

水仙花数是指其个位、十位、百位三个数的立方和等于这个数本身,用Scala编程求出所有水仙花数。

for(a<-100 until 1000){ val b = a/100%10 val s = a/10%10 val g =a%10 var sum=b*b*b + s*s*s + g*g*g if(sum==a){ println("当前的水仙花数是:"+a) } } 

2. 使用scala编写函数过滤文本中的回文单词

实验目标;

(1)   掌握scala的数组,列表,映射的定义与使用

(2)   掌握scala的for循环与if判断的使用

(3)   掌握scala的函数式编程

实验说明:

回文是指正向和逆向读起来相同的词,英语中也存在着回文现象,如“mom”和“dad”。

参照给出的英文文档word.txt,使用scala编程读取文件,并且编写一个函数判断文档中的每个单词是否为回文单词,若是则输出该单词。

实现思路及步骤:

(1)读取word.txt数据,将数据

(2)使用flatMap()方法获取缓存区里面的数据,并使用空格进行分割。

(3)定义函数isPalindrom(word:String)

   (4) 在函数中判断单词正向与逆向是否一样,若是则输出该单词

(5)调用isPalindrom 函数

import scala.io.Source object PalindromeChecker { def main(args: Array[String]): Unit = { // 假设txt文件路径为"path/to/your/file.txt" val filePath = "/export/servers/word.txt" // 从文件中读取所有行,并使用flatMap和空格分割成单词 val words = Source.fromFile(filePath).getLines().flatMap(_.split("\\W+")).toList // 定义检查回文的函数 def isPalindrome(word: String): Boolean = word == word.reverse // 检查每个单词是否是回文,并打印回文单词 words.foreach { word => if (isPalindrome(word)) { println(s"$word is a palindrome!") } } } } 

首先导入scala.io.Source,以便从文件中读取内容,紧接着定义main方法作为程序的入口点然后设定一个文件路径filePath,指向要检查的文本文件。使Source.fromFile(filePath).getLines()从文件中读取所有行,并通过flatMap和正则表达式"\\W+"(匹配一个或多个非单词字符)将每行分割成单词列表。然后,将结果转换为列表words,接着定义了一个辅助函数isPalindrome,它接受一个字符串word作为参数,并检查该字符串是否等于其反转字符串。如果是,则返回true,表示该单词是回文;否则返回false。使用foreach方法遍历words列表中的每个单词。对于每个单词,如果它是回文(即isPalindrome(word)返回true),则打印出该单词以及一个消息,表明它是一个回文。

3. 使用scala编程输出九九乘法表:

实验目标:

(1)      掌握scala循环的使用

(2)      掌握scala函数式编程

实验说明:

九九乘法表是我国古代人民的智慧结晶,在春秋战国时代就已经在筹算中运算,到明代则改良病用在算盘上。现需要使用scala编程输出九九乘法表,要求输出效果如图所示:

3. 使用scala编程输出九九乘法表:

实验目标:

(1) 掌握scala循环的使用

(2) 掌握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() } } } 

main方法中,我们使用了两个嵌套的for循环。外层循环变量i从1遍历到9,内层循环变量j从1遍历到i。在每次内层循环中,都打印出一个乘法表达式(例如"1x1=1")和一个制表符(\t),用于在输出中对齐各个表达式。当内层循环完成后,然后打印一个换行符(\n),以便开始新的一行。

到此这篇scala编程思想_bash编程的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • scala大数据框架_scrach编程软件2024-11-12 23:00:11
  • scratch九九乘法表_scratch游戏代码2024-11-12 23:00:11
  • Scala编程语言学习总结_scala编程实战 pdf2024-11-12 23:00:11
  • idea scala_scratch编程2024-11-12 23:00:11
  • scala编程实战 pdf_scratch2.0编程2024-11-12 23:00:11
  • scala编程第4版_python核心编程第三版pdf2024-11-12 23:00:11
  • Scala编程题_python题库及答案解析2024-11-12 23:00:11
  • Scala编程语言2024-11-12 23:00:11
  • scala编程初级实践_编程实验总结2024-11-12 23:00:11
  • Scala 编程_scratch源码2024-11-12 23:00:11
  • 全屏图片