ToB企服应用市场:ToB评测及商务社交产业平台

标题: scala中正则表达式的使用2.0 [打印本页]

作者: 东湖之滨    时间: 7 天前
标题: scala中正则表达式的使用2.0
  1. // 如果有一个字符串数组:
  2. // 统计词频
  3.     val arr1 = Array("thank","you","very","much","thank","very")
  4.     val m1 = scala.collection.mutable.Map[String, Int]()
  5.     arr1.foreach(word => {
  6.         // 检查是否出现过?
  7.         if( m1. contains( 1 )) {
  8.             // 把票数+1
  9.             m1(word) += 1
  10.         } else{
  11.             // 票数为1
  12.         m1(word) = 1
  13.     }
  14. })
  15. m1.foreach { case (word, cishu) => println(s"${word}: ${cishu}")}
复制代码

  1. // 对于m1,它是一个Map(thank: 10, is: 5),现在需要对它进行排序,把出现次数最多的放在前面,然后再输出
  2. // (rhank, 10)
  3. // 只要排序之后的结果的前15个? 在List中取出前15个?
  4.         val sortedM1 = m1.toList.sortWith((a,b)=>a._2 > b._2).filter(a=>a._1.length>2).slice(0,15)
  5.         // 输出排序后的1Map
  6.         sortedM1.foreach { case (word,cisu) => println(s"${word}: ${cishu}")}
  7.         // 把结果保存到一个新的文件中:
  8.         writer.println("统计的结果是:")
  9.         sortedM1.foreach { case (word, cishu) => writer.println(s"${word}: ${cishu}") }
  10.         writer.close() // 结束写入
  11.         }
  12.     }
  13. }
复制代码

 

 

  1. package test33
  2. // 1、迭代器,跳过第一个元素
  3. // 2、把字符串转成数字
  4. // 3、 如何判断一个1正整数是否可以被3整除? (1+2+3) % 3 == 0
  5. import scala.io.Source
  6. // 成绩分析
  7. object test {
  8.     def main(args: Array[String]): Unit = {
  9.         // 0、定义一个空列表
  10.         val list = ListBuffet[Student]()
  11.         // 1、读入成绩 - 按行去读取 - 跳过的一个元素
  12.         val it = Source.formFile("score.txt").getLines().drop(1)
  13.         while(it.hasNext){
  14.             val content = it.next()
  15.             // 使用中文的逗号去拆分字符串
  16.             var arr = content.split(",")
  17.             val name = arr(0)
  18.             val yvwen = arr(1).toInt
  19.             val shuxue = arr(2).toInt
  20.             val yingyv = arr(3).toInt
  21.             val total = yvwen + shuxue + yingyv
  22.             val avg = total / 3
  23.             // 创建一个对象
  24.             list += Student(name, yvwen, shuxue, yingyv, total, avg)
  25.         }
  26.         // 根据总分进行排序
  27.         val orderList = list.sortWith((a, b) => a.total > b.total)
  28.         // 打印结果
  29.         orderList.foreach(s => println(s"姓名:${s.name}, 总分:${s.total}"))
  30.         // 根据数学进行排序
  31.         list.sortWith((a, b) => a.shuxue > b.shuyxue).foreach(s => println(s"姓名:${s.name},数学:${s.shuxue},总分:${s.total}"))
  32.     }
  33. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4