以下は私のスカラコードですが、13行目は "欠落しているパラメータタイプ"と言うエラーがあります。スカラーコードで私のforeachの問題は何ですか
class OneAway {
def isOneAway(s1:String, s2:String):Boolean={
if(s1.equals(s2))
return true
else if(s1.length > s2.length + 1 || s1.length < s2.length - 1)
return false
else
{
var count:Int=0
s1.chars().forEach(a=>{
if(a!=s2.charAt(count)){
return s2.substring(count+1).equals(s1.substring(count)) || s1.substring(count+1).equals(s2.substring(count))
}
count=count+1
}
)
return true
}
}
}
これはScalaの世界では、より正確な答えです:あなたはScalaでやりたい
適切な方法は、このようなものになるだろう。ほとんどの場合、if構造体を避ける必要があります。 – Pavel
最後の3つのケースの意味は分かりますか?ありがとう。 – sweetyBaby
あなたには何が出ていますか? 2番目の文字列が短い場合は、1番目の文字を削除し、残りの文字を比較します。最初の文字列が1つ短絡されている場合は、最初の文字列を削除し、残りの文字列を比較します。さもなければ、長さは1だけずれないので、falseを返します。 – Dima