九、Spark基础环境实战(下)

打开虚拟机,连接Xshell后

1. 编辑添加内容

往里面添加:

import scala.collection.mutable.ListBuffer

import scala.io.StdIn

object TodoManagerNe extends App {

private val todos = ListBuffer[String]()

println("=== 待办事项管理器 ===")

println("命令列表:") println(" add [事项] - 添加待办事项")

println(" list - 查看所有待办事项")

println(" delete [序号] - 删除指定待办事项")

println(" exit - 退出程序")

println()

var running = true

while (running) {

print("> ")

val input = StdIn.readLine().trim.split("\\s+", 2)

if (input.isEmpty) {

// 空输入,忽略

} else {

input(0) match {

case "add" if input.length > 1 =>

todos += input(1)

println(s"已添加: ${input(1)}")

case "list" =>

if (todos.isEmpty) {

println("没有待办事项")

} else {

println("待办事项:")

todos.zipWithIndex.foreach { case (todo, index) =>

println(s" {index + 1}. todo")

}

}

case "delete" if input.length > 1 =>

try {

val index = input(1).toInt - 1

if (index >= 0 && index < todos.length) {

val removed = todos.remove(index)

println(s"已删除: $removed")

} else {

println("无效的序号")

}

} catch {

case _: NumberFormatException =>

println("请输入有效的数字序号")

}

case "exit" =>

running = false

println("再见!")

case _ =>

println("未知命令,请重试")

}

}

}

}

2. Scala 源代码文件(.scala)编译为 Java 字节码文件(.class)

scala TodoManagerNe.scala

  1. 运行已编译好的 Scala 程序
相关推荐
qq_406176141 天前
深入浅出 Pinia:Vue3 时代的状态管理新选择
javascript·vue.js·ecmascript
一段佳话^cyx1 天前
详解逻辑回归(Logistic Regression):原理、推导、实现与实战
大数据·算法·机器学习·逻辑回归
zhou lily1 天前
SaaS模式下的企业服务创新与数字化转型:战略重构与价值落地
大数据
qq_452396231 天前
【Python × AI】多智能体协作:从 AutoGPT 到 CrewAI 的组织进化论
大数据·人工智能·python·ai
德育处主任Pro1 天前
前端元素转图片,dom-to-image-more入门教程
前端·javascript·vue.js
叫我一声阿雷吧1 天前
JS 入门通关手册(23):JS 异步编程:回调函数与异步本质
javascript·es6·前端面试·回调函数·回调地狱·js异步编程·异步本质
zayzy1 天前
前端八股总结
开发语言·前端·javascript
今天减肥吗1 天前
前端面试题
开发语言·前端·javascript
小J听不清1 天前
CSS 外边距(margin)全解析:取值规则 + 实战用法
前端·javascript·css·html·css3
跨境卫士-小汪1 天前
高风险订单识别不足如何设置拦截与二次核验
大数据·人工智能·产品运营·跨境电商·营销策略