一、实验任务及结果
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) } }
结果: