Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将用户输入字符与Scala中的字符进行比较_Scala_Input_Char - Fatal编程技术网

将用户输入字符与Scala中的字符进行比较

将用户输入字符与Scala中的字符进行比较,scala,input,char,Scala,Input,Char,我试图将用户在本例中的输入X或Y与Scala中的字符进行比较。 我的代码如下: var marker = 0 while (marker == 0) { val ans1 = scala.io.StdIn.readLine() println(ans1) if (ans1 == 'X') { marker = 1 } else if (ans1 == 'Y') { marker = 2

我试图将用户在本例中的输入X或Y与Scala中的字符进行比较。 我的代码如下:

    var marker = 0
    while (marker == 0) {
      val ans1 = scala.io.StdIn.readLine()
      println(ans1)
      if (ans1 == 'X') {
        marker = 1
      }
      else if (ans1 == 'Y') {
        marker = 2
      }
      else {
        println("Faulty input. Please retry: X or Y?")
      }

然而,我得到的结果总是错误的输入。请重试:X或Y?。 所以我想我的比较肯定有问题


尽管搜索了一下,我还是找不到问题。我试着将我正在比较的字符与朋友的建议进行比较,但这并没有解决问题。

试试这个。字符串不等于if语句中的字符

 val ans1 = scala.io.StdIn.readChar()
这是你的朋友。readLine返回一个字符串,字符串永远不等于字符。不管字符串是否只有一个字符,并且该字符就是您要比较的字符。-这里有很多选项,其中一个就是使用readChar。另一种方法是与字符串ans1==X进行比较。另一种方法是只取字符串的第一个字符,如ans1.head==X。