Как сопоставить несколько условий в if else - PullRequest
0 голосов
/ 06 мая 2020
• 1000 , но это не работает.
val x = "1"
val y = "2"
val z = "3"

val result = {
var res = "
if (x == "") y else x
else if (y == "") z
}
For result First priority is to x and if x = "" then y, if y also "" then return z

Пожалуйста, помогите

1 Ответ

0 голосов
/ 06 мая 2020

Вы назначаете целочисленное значение переменным и проверяете пустую строку, если условие. Comparing values of types Int and String using `==' will always yield false

Пожалуйста, проверьте код ниже.

// For variables of type string.
if(x != "") x else if (y != "") y else z 


scala> val x = 1
x: Int = 1

scala> val y = 2
y: Int = 2

scala> val z = 3
z: Int = 3

scala> if(x != "") x else if (y != "") y else z // This will give result if variables are type string. but if it is int type checking this way give you wrong values.
<console>:30: warning: comparing values of types Int and String using `!=' will always yield true
       if(x != "") x else if (y != "") y else z
            ^
<console>:30: warning: comparing values of types Int and String using `!=' will always yield true
       if(x != "") x else if (y != "") y else z
                                ^
res8: Int = 1


scala> if (!x.isNaN) x else if(!y.isNaN) y else z // Check this way

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...