当前位置: 首页 > 知识库问答 >
问题:

Scala:以单个字符串的形式读取用户输入

董嘉祯
2023-03-14
please copy data:
word1
word2
word3
val str = "word1\nword2\nword3"
import scala.collection.JavaConverters._
val scanner: Iterator[String] = new Scanner(System.in).asScala

val sb = new StringBuilder
while (scanner.hasNext) {
  sb.append(scanner.next())
}
val str = sb.toString()

虽然这可以打印输入:

import scala.collection.JavaConverters._
val scanner: Iterator[String] = new Scanner(System.in).asScala

scanner foreach println

我在寻找做这项工作的惯用方法

共有1个答案

家弘业
2023-03-14

试试看

LazyList
  .continually(StdIn.readLine())
  .takeWhile(_ != null)
  .mkString("\n")

灵感来自https://stackoverflow.com/a/18924749/5205022

在我的计算机上,我可以用^d终止输入。

 类似资料:
  • 主要内容:读字符串函数 fgets,写字符串函数 fputsfgetc() 和 fputc() 函数每次只能读写一个字符,速度较慢;实际开发中往往是每次读写一个字符串或者一个数据块,这样能明显提高效率。 读字符串函数 fgets fgets() 函数用来从指定的文件中读取一个字符串,并保存到字符数组中,它的用法为: str 为字符数组,n 为要读取的字符数目,fp 为文件 指针。 返回值:读取成功时返回字符数组首地址,也即 str;读取失败时返回 NULL

  • 问题内容: 有没有一种方法可以从用户输入中读取一个字符?例如,他们在终端上按一个键,然后将其返回(类似)。我知道Windows中有一个功能,但是我想要一些跨平台的功能。 问题答案: 以下是指向网站的链接,该网站说明了如何在Windows,Linux和OSX中读取单个字符:http : //code.activestate.com/recipes/134892/

  • 我使用JSCH-SSH库在“shell”通道中执行命令,但无法找到一种方法来做两件事:- 1)如何查找命令是否在远程unix box上完全执行? 2)如何在String中捕获命令输出,而不是在System.out控制台上打印? 下面是我的代码片段,它可以很好地在系统上显示shell命令输出。出来 注意:我不想使用“exec”通道,因为它为每个命令启动一个新进程,并且不记得导出的“session”变

  • 当我从包含双值的目录中读取CSV数据并对其应用流式K均值模型时, //CSV文件 name:=“应用程序名称” 版本:=“0.1” scalaVersion:=“2.11.12” val sparkVersion=“2.3.1” 我得到以下错误: 18/07/24 11:20:04错误执行器:stage 2.0(TID 1)任务0.0中出现异常java.lang.NumberFormatExcep

  • 问题内容: 我想从用户那里获取一个字符串,然后对其进行操作。 没有我让用户在引号中键入其响应的方法,testVar是否可以成为字符串?即“你好”与你好 如果用户输入Hello,则会出现以下错误: NameError:名称“ Hello”未定义 问题答案: 使用代替: 实际上将输入评估为Python代码。我建议不要使用它。 返回用户输入的逐字字符串。

  • 问题内容: 如何通过键盘用Java输入字符? 问题答案: 您可以扫描整行: 或者,只要您知道要处理的编码,就可以阅读一本: