一、实验任务及结果
1.统计文本中性别为“男”的用户数
这是数据
代码实现:
import scala.io.Source
object test1 {
def main(args: Array[String]):Unit= {
val phone = Source.fromFile("test.txt")
val lineIterator = phone.getLines().toList
print(lineIterator)
var man = 0
for (line <- lineIterator) {
if(line.contains("男")) man+=1
}
// print("共有男性"+(man)+"名。")
}
}

2、单词计数
文本:

代码:
import java.util.Scanner
import scala.io.Source
object count_words {
def main(args: Array[String]): Unit = {
val text = Source.fromFile("words.txt")
val lines = text.getLines().toList
//数据转换
val mappedWords = lines.flatMap(_.split(" ").map(_.trim)).filterNot(_
.isEmpty).map((_,1))
//根据数据进行分组
val groupedWords: Map[String, List[(String, Int)]] = mappedWords.groupBy(tuple=>tuple._1)
//每组进行数据计算
val result = groupedWords.map(tuple=>{
//获得Word单词(key)
val word = tuple._1
//计算该Word对应的数量(value)
val count = tuple._2.map(t=>t._2).sum
//返回结果
(word,count)
})
println(result.toList)
}
}
结果:

这段博客展示了如何使用Scala进行文本分析,包括统计特定性别用户数量和执行单词计数。第一个实验统计了'男'性用户的数量,而第二个实验则对单词进行了计数并输出了每个单词的频次。
5200





