对于这个课堂作业(你可以看到我没有完成它因为我不知道如何开始这个) 我想制作一个程序,当用户输入他/她的字符串,加上替换所有字符的字符时,它会将原始字符串的字符更改为新字符。 例如,我会输入笔记本电脑,我想用字母I替换它,所以新字符串将成为我。
torerereced,一个你想要替换你的字符串的角色 替换为,当来自torereplaced的字符替换用户输入的原始字符串时。 如果它为空,返回原始字符串,如果它有一个字符串和要替换的字符,则替换它。
/**
* Replaces all instances of the character toBeReplaced
* with replacedWith in the String str. Remember str.charAt(int i)
* gives you the character at a location.
* @param str
* @param tobeReplaced
* @param replacedWith
* @return
*/
public static String replaceChar(String str, char tobeReplaced, char replacedWith)
{
return str;
}
答案 0 :(得分:1)
好的,我想你不能使用replaceAll()
因为这会使这项任务变得微不足道; - )
现在您要做的是查看String javadoc并找出如何使用substring(int beginIndex, int endIndex)
方法替换字符。
然后你会想到一种方法,你可以将for
循环中的charAt(int index)
循环与split()
组合,从而为你提供指定索引处的字符。
实际上你也可以看看String s = "halalo";
String [] split = s.split("a");
// split now contains: split[0] = "h", split[1] = "l", split[2] = "lo"
因为它也可以用来替换一个角色:
{{1}}
答案 1 :(得分:0)
该方法的论点很少混淆。 'tobeReplaced'和'replacementWith'之间有什么区别?
如果我正确理解了问题,该方法应该接受两个参数:
我没有看到任何条件被提及(如果字符串不为空或仅在字符串包含某些字符等时才更换)。当没有条件时,该方法可以简单地返回收到的字符输入。
如果我的理解不对,请纠正我。感谢。答案 2 :(得分:0)
这是一项简单的任务,因为只能发生3种情况:
replaceChars(s, toBeReplaced, replacement)
s
是空字符串。结果是空字符串。s
以要替换的字符开头。
结果是replacement + replaceChars(rest, toBeReplaced, replacement)
rest
s
没有第一个字符的地方。s
不会以要替换的字符开头。
结果是first + replaceChars(rest, toBeReplaced, replacement)
first
的第一个字符s
和rest
的其余部分s
,与之前一样。