我在 Scala 中的过滤器循环不起作用?
My filter loop in scala doesn't work?
for(i <- data){
if(i != 'a' || i != 'e' || i != 'i' || i != 'o' || i != 'u'){
myArray(i) = i;
println(myArray(i));
}
}
Data是传入的字符串,myArray变量是char数组。 Why is it that when the char selected is in-putted into myArray it can be a vowel?请帮忙,谢谢。
您需要像这样更改您的 if 条件:
if(i != 'a' && i != 'e' && i != 'i' && i != 'o' && i != 'u')
你读它好像 i 不是 a 也不是 e 和 other 只是它不是元音。也不要使用 i 这将是您的数据的值作为数组的索引。在 for 循环之外使用变量,例如:
var index = 0
并使用这个索引变量并递增它。
我认为更实用的方法是:
def filterVowels(data: Array[Char]): Array[Char] = {
data filter (isVowel);
}
val isVowel = Set('a', 'e', 'i', 'o', 'u')
for(i <- data){
if(i != 'a' || i != 'e' || i != 'i' || i != 'o' || i != 'u'){
myArray(i) = i;
println(myArray(i));
}
}
Data是传入的字符串,myArray变量是char数组。 Why is it that when the char selected is in-putted into myArray it can be a vowel?请帮忙,谢谢。
您需要像这样更改您的 if 条件:
if(i != 'a' && i != 'e' && i != 'i' && i != 'o' && i != 'u')
你读它好像 i 不是 a 也不是 e 和 other 只是它不是元音。也不要使用 i 这将是您的数据的值作为数组的索引。在 for 循环之外使用变量,例如:
var index = 0
并使用这个索引变量并递增它。
我认为更实用的方法是:
def filterVowels(data: Array[Char]): Array[Char] = {
data filter (isVowel);
}
val isVowel = Set('a', 'e', 'i', 'o', 'u')