【发布时间】:2014-12-21 02:08:36
【问题描述】:
字符串“displayed”用*填充,它和字符串“secret”一样长。 secret 是数组中的一个单词。
public void replace(String input)
{
for (int j = 0; j < displayed.length(); j++)
{
if (input.charAt(0) == secret.charAt(j))
{
displayed1 = displayed.replace(secret.charAt(j), input.charAt(0));
//System.out.print(input.charAt(0) == secret.charAt(j) ? input.charAt(0) : "*");
}
}
System.out.println(displayed1);
当我运行它时它只给我*,它不会用输入替换*。 但是如果让打印它,它会替换它..
我在编程方面相当新,所以这可能是一个愚蠢的小东西,但我找不到它:(
【问题讨论】:
-
我认为你误解了
String.replace方法。给定 2 个参数,它找到字符串中第一个字符的所有出现,并将它们替换为第二个字符。但是这个字符串里面只有“*”。它没有来自secret的任何字符。所以它不会取代任何东西。它只替换存在于其中的字符。 -
当然..愚蠢的我:(不能这样,我需要重新考虑:)
-
如果您不想显示值,则将整个文本替换为 *,使用 no of * 来表示字符串,例如如果用户单击按钮或其他内容,用户将是 **** 并显示 thr 字符串
标签: java string input replace chars