九、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 程序
相关推荐
程序猿的程10 小时前
开源一个 React 股票 K 线图组件,传个股票代码就能画图
前端·javascript
大雨还洅下11 小时前
前端JS: 虚拟dom是什么? 原理? 优缺点?
javascript
唐叔在学习11 小时前
[前端特效] 左滑显示按钮的实现介绍
前端·javascript
青青家的小灰灰12 小时前
深入理解事件循环:异步编程的基石
前端·javascript·面试
前端Hardy13 小时前
HTML&CSS&JS:打造丝滑的3D彩纸飘落特效
前端·javascript·css
前端Hardy13 小时前
HTML&CSS&JS:丝滑无卡顿的明暗主题切换
javascript·css·html
UIUV14 小时前
node:child_process spawn 模块学习笔记
javascript·后端·node.js
烛阴15 小时前
Three.js 零基础入门:手把手打造交互式 3D 几何体展示系统
javascript·webgl·three.js
颜酱16 小时前
单调栈:从模板到实战
javascript·后端·算法
_AaronWong17 小时前
Electron 实现仿豆包划词取词功能:从 AI 生成到落地踩坑记
前端·javascript·vue.js