简单的java,字符串长度

时间:2016-04-16 19:47:04

标签: java string oop inheritance interface

我发现很难将字符串长度返回为" *"符号。方法noDisclosure在Interface中,TopClearance是Clearance的子类。另外,gettermethod getSecret()在superClass - > Clearance中,所以我已经继承了它。

我知道返回一个字符串是使用Str.length()但我不知道如何获取长度并将其转换为" *"

以下是问题的一部分。

TopClearance中的noDisclosure方法将返回符号序列' *'只要在清仓的秘密。 因此,例如top是TopClearance实例的名称,top.getSecret()是" magic"然后 top.noDisclosure()将返回" *****"因为"魔术"长度为5。 TopClearance中的方法护照将返回清除中名称的前两个字符。 因此,例如top是TopClearance实例的名称,top.getName()是" Mark"然后 top.passport()将返回" Ma"。

3 个答案:

答案 0 :(得分:4)

您可以使用String.replaceAll()方法,该方法使用正则表达式,其中。代表任何角色:

text.replaceAll(".", "*");

答案 1 :(得分:0)

你可以noDisclosure的for循环来掩盖这个词:

String maskedWord = "";
for(int i = 0; i < word.length(); i++) {
    maskedWord += "*";
}

对于passport,您可以使用substring方法获取一段名称:

String shortenedName = name.substring(0, 2);

答案 2 :(得分:-1)

您可以使用已知字长创建新字符串:

String maskedWord = new String(new char[word.length()]).replace("\0", "*");