我在 scala 中的过滤器循环不起作用?


for(i <- data){
        if(i != 'a' || i != 'e' || i != 'i' || i != 'o' || i != 'u'){
            myArray(i) = i;
            println(myArray(i));
        }
    }

数据是传入的字符串,myArray 变量是字符数组。为什么当所选字符输入 myArray 时,它可以是元音?请帮忙,谢谢。

您需要更改 if 条件,例如:

if(i != 'a' && i != 'e' && i != 'i' && i != 'o' && i != 'u')

你读它好像 i 不是 a 也不是 e 和其他,那么只有它不是元音。也不要使用 i,它将是数据的值作为数组的索引。在 for 循环之外使用变量,如下所示:

var index = 0

使用此索引变量并递增它。

我认为更

实用的方法是:

 def filterVowels(data: Array[Char]): Array[Char] = {
    data filter (isVowel);
  }
  val isVowel = Set('a', 'e', 'i', 'o', 'u') 

最新更新