文字列の長さを "*"記号として返すのは難しいです。メソッドNoDisclosureはInterfaceにあり、TopClearanceはClearanceのサブクラスです。gettermethod getSecret()はsuperClass - > Clearanceにあり、すでに継承しています。シンプルなjava、文字列の長さ
私は文字列を返すことはStr.lengthを(使用していることを知っている)が、私はちょうどの長さを取り、ここで「*」
に変換する方法がわからない質問の一部です。
TopClearanceのnoDisclosureメソッドは、Clearanceの秘密である限り、シンボル '*'のシーケンスを返します。 したがって、例えばtopがTopClearanceのインスタンスの名前で、top.getSecret()が "magic"の場合 "magic"の長さが5であるため、top.noDisclosure()は "*****"を返します。 TopClearanceのメソッドパスポートは、Clearanceの名前の最初の2文字を返します。 したがって、たとえばtopがTopClearanceのインスタンスの名前で、top.getName()が「Mark」の場合、 top.passport()は「Ma」を返します。
String shortenedName = name.substring(0, 2);
これはジョブを完了します(そして最も論理的かもしれませんが)。これはやりたくありません。また、このようにすれば、少なくともString concatではなくStringBuilderを使用してください。 –
私はStringsをどのように使っていたのか分かりませんでしたので、もっと簡単な解決法を提供し、他の人にも他のアイデアを提供させると思いました。 – Logan
私はプログラミング面で進んでいないので、この方法は論理的だと思います。ありがとう! – eggfriedrice