Aus der Scala-Maling-Liste (Formatierung und Links wurden aktualisiert):
Kurze Antwort:
readInt
Lange Antwort:
Wenn Sie vom Terminal lesen möchten, checken Sie aus Console.scala. Sie können diese Funktionen wie folgt verwenden:
Console.readInt
Definiert außerdem Predef.scala
automatisch einige Verknüpfungen zu Funktionen in Console. Da Inhalte Predefimmer und überall automatisch importiert werden, können Sie sie folgendermaßen verwenden:
Hier ist eine Standardmethode zum Lesen von Integer-Werten
val a=scala.io.StdIn.readInt()
println("The value of a is "+ a)
ähnlich
def readBoolean (): Boolean Liest einen Booleschen Wert aus einer ganzen Zeile von stdin.
def readByte (): Byte Liest einen Bytewert aus einer ganzen Zeile von stdin.
def readChar (): Char Liest einen Char-Wert aus einer ganzen Zeile von stdin.
def readDouble (): Double Liest einen Double-Wert aus einer ganzen Zeile von stdin.
def readFloat (): Float Liest einen Float-Wert aus einer ganzen Zeile von stdin.
def readInt (): Int Liest einen Int-Wert aus einer ganzen Zeile von stdin.
def readLine (Text: String, Argumente: Beliebig *): String Druckt formatierten Text nach stdout und liest eine vollständige Zeile aus stdin.
def readLine (): String Liest eine vollständige Zeile von stdin.
def readLong (): Long Liest einen Long-Wert aus einer ganzen Zeile von stdin.
def readShort (): Short Liest einen Short-Wert aus einer ganzen Zeile von stdin.
def readf (Format: String): List [Any] Liest strukturierte Eingaben von stdin ein, wie vom Formatbezeichner angegeben.
def readf1 (format: String): Beliebig Liest strukturierte Eingaben von stdin ein, wie vom Formatbezeichner angegeben, und gibt nur den ersten extrahierten Wert gemäß der Formatspezifikation zurück.
def readf2 (format: String): (Any, Any) Liest strukturierte Eingaben von stdin ein, wie vom Formatbezeichner angegeben, und gibt nur die ersten beiden extrahierten Werte gemäß der Formatspezifikation zurück.
def readf3 (format: String): (Any, Any, Any) Liest strukturierte Eingaben von stdin ein, wie vom Formatbezeichner angegeben, und gibt nur die ersten drei extrahierten Werte gemäß der Formatspezifikation zurück.
Wenn Sie mehrere Benutzereingaben aus derselben Zeile lesen möchten, z. B. Name, Alter, Gewicht, können Sie das Scannerobjekt verwenden
import java.util.Scanner// simulated inputval input = "Joe 33 200.0"val line = newScanner(input)
val name = line.next
val age = line.nextInt
val weight = line.nextDouble
Auszug aus dem Scala-Kochbuch: Rezepte für objektorientierte und funktionale Programmierung von Alvin Alexander
Sie können eine Benutzereingabe mit readLine () eingeben.
import scala.io.StdIn._
objectq1{
defmain(args:Array[String]):Unit={
println("Enter your name : ")
val a = readLine()
println("My name is : "+a)
}
}
Oder Sie können die Scannerklasse verwenden, um Benutzereingaben zu übernehmen.
import java.util.Scanner;
objectq1{
defmain(args:Array[String]):Unit={
val scanner = newScanner(System.in)
println("Enter your name : ")
val a = scanner.nextLine()
println("My name is : "+a)
}
}
val scanner = new java.util.Scanner(System.in)
scala> println("What is your name") What is your name
scala> val name = scanner.nextLine()
name: String = VIRAJ
scala> println(s"My Name is $name")
MyName is VIRAJ
Wir können auch Read Line verwenden
val name = readLine("What is your name ")
What is your name name: String = Viraj
import java.io._
objectTest{
// Read user input, outputdefmain(args: Array[String]) {
// create a file writervar writer = newPrintWriter(newFile("output.txt"))
// read an int from standard input
print("Enter the number of lines to read in: ")
val x: Int = scala.io.StdIn.readLine.toInt
// read in x number of lines from standard inputvar i=0while (i < x) {
var str: String = scala.io.StdIn.readLine
writer.write(str + "\n")
i = i + 1
}
// close the writer
writer.close
}
}
Dieser Code wird vom Benutzer eingegeben und ausgegeben:
[input] Enter the number of lines to read in: 2
one
two
[output] output.txt
one
two
val input = readLine("prompt> ")
Antworten:
In Scala 2.11 verwenden
scala.io.StdIn.readLine()
anstelle der veralteten
Console.readLine
.quelle
Aus der Scala-Maling-Liste (Formatierung und Links wurden aktualisiert):
quelle
Hier ist eine Standardmethode zum Lesen von Integer-Werten
val a=scala.io.StdIn.readInt() println("The value of a is "+ a)
ähnlich
def readBoolean (): Boolean Liest einen Booleschen Wert aus einer ganzen Zeile von stdin.
def readByte (): Byte Liest einen Bytewert aus einer ganzen Zeile von stdin.
def readChar (): Char Liest einen Char-Wert aus einer ganzen Zeile von stdin.
def readDouble (): Double Liest einen Double-Wert aus einer ganzen Zeile von stdin.
def readFloat (): Float Liest einen Float-Wert aus einer ganzen Zeile von stdin.
def readInt (): Int Liest einen Int-Wert aus einer ganzen Zeile von stdin.
def readLine (Text: String, Argumente: Beliebig *): String Druckt formatierten Text nach stdout und liest eine vollständige Zeile aus stdin.
def readLine (): String Liest eine vollständige Zeile von stdin.
def readLong (): Long Liest einen Long-Wert aus einer ganzen Zeile von stdin.
def readShort (): Short Liest einen Short-Wert aus einer ganzen Zeile von stdin.
def readf (Format: String): List [Any] Liest strukturierte Eingaben von stdin ein, wie vom Formatbezeichner angegeben.
def readf1 (format: String): Beliebig Liest strukturierte Eingaben von stdin ein, wie vom Formatbezeichner angegeben, und gibt nur den ersten extrahierten Wert gemäß der Formatspezifikation zurück.
def readf2 (format: String): (Any, Any) Liest strukturierte Eingaben von stdin ein, wie vom Formatbezeichner angegeben, und gibt nur die ersten beiden extrahierten Werte gemäß der Formatspezifikation zurück.
def readf3 (format: String): (Any, Any, Any) Liest strukturierte Eingaben von stdin ein, wie vom Formatbezeichner angegeben, und gibt nur die ersten drei extrahierten Werte gemäß der Formatspezifikation zurück.
Wenn Sie mehrere Benutzereingaben aus derselben Zeile lesen möchten, z. B. Name, Alter, Gewicht, können Sie das Scannerobjekt verwenden
import java.util.Scanner // simulated input val input = "Joe 33 200.0" val line = new Scanner(input) val name = line.next val age = line.nextInt val weight = line.nextDouble
Auszug aus dem Scala-Kochbuch: Rezepte für objektorientierte und funktionale Programmierung von Alvin Alexander
quelle
object InputTest extends App{ println("Type something : ") val input = scala.io.StdIn.readLine() println("Did you type this ? " + input) }
Auf diese Weise können Sie nach Eingaben fragen.
scala.io.StdIn.readLine()
quelle
Sie können eine Benutzereingabe mit readLine () eingeben.
import scala.io.StdIn._ object q1 { def main(args:Array[String]):Unit={ println("Enter your name : ") val a = readLine() println("My name is : "+a) } }
Oder Sie können die Scannerklasse verwenden, um Benutzereingaben zu übernehmen.
import java.util.Scanner; object q1 { def main(args:Array[String]):Unit={ val scanner = new Scanner(System.in) println("Enter your name : ") val a = scanner.nextLine() println("My name is : "+a) } }
quelle
Mit readLine können Sie den Benutzer auffordern und seine Eingabe als Zeichenfolge lesen
val name = readLine("What's your name? ")
quelle
Einfaches Beispiel zum Lesen von Benutzereingaben
val scanner = new java.util.Scanner(System.in) scala> println("What is your name") What is your name scala> val name = scanner.nextLine() name: String = VIRAJ scala> println(s"My Name is $name") My Name is VIRAJ
Wir können auch Read Line verwenden
val name = readLine("What is your name ") What is your name name: String = Viraj
quelle
In Scala 2 :
import java.io._ object Test { // Read user input, output def main(args: Array[String]) { // create a file writer var writer = new PrintWriter(new File("output.txt")) // read an int from standard input print("Enter the number of lines to read in: ") val x: Int = scala.io.StdIn.readLine.toInt // read in x number of lines from standard input var i=0 while (i < x) { var str: String = scala.io.StdIn.readLine writer.write(str + "\n") i = i + 1 } // close the writer writer.close } }
Dieser Code wird vom Benutzer eingegeben und ausgegeben:
[input] Enter the number of lines to read in: 2 one two [output] output.txt one two
quelle
bitte versuche
scala> readint
Bitte versuchen Sie diese Methode
quelle