我需要创建一个带有originalText的程序,并用new特定字母替换originalText中的每个字母,然后将其打印为mixedLetterText。
这就是我所拥有的,但它仅适用于第一个“String mixedLetterText = originalText.replace('a','w');”并且不会更改任何其他字母。我对这一切都很陌生,只是不知道出了什么问题......无论如何,谢谢!请帮忙。
public class MixLettersAndNumbers
{
public static void main(String[] args)
{
String originalText = "as we walk";
String mixedLetterText =
originalText.replace('a', 'w');
originalText.replace('s', 'e');
originalText.replace('d', 'r');
originalText.replace('f', 't');
originalText.replace('g', 'y');
originalText.replace('h', 'u');
originalText.replace('j', 'i');
originalText.replace('k', 'o');
originalText.replace('l', 'p');
originalText.replace('z', 's');
originalText.replace('x', 'd');
originalText.replace('c', 'f');
originalText.replace('v', 'g');
originalText.replace('b', 'h');
originalText.replace('n', 'j');
originalText.replace('m', 'k');
originalText.replace('q', '1');
originalText.replace('w', '2');
originalText.replace('e', '3');
originalText.replace('r', '4');
originalText.replace('t', '5');
originalText.replace('y', '6');
originalText.replace('u', '7');
originalText.replace('i', '8');
originalText.replace('o', '9');
originalText.replace('p', '0');
//test it out
System.out.println("original = " + originalText);
System.out.println("mixed = " + mixedLetterText);
}
}
答案 0 :(得分:2)
替换所有(类似)行:
originalText.replace('h', 'u');
为:
originalText = originalText.replace('h', 'u');
replace()
函数将返回修改后的文本版本。
最后,变量originalText
将包含文本的修改版本。
也就是说,
// no need to use mixedLetterText if you are not intended to keep originalText
originalText = originalText.replace('a', 'w');
originalText = originalText.replace('s', 'e');
originalText = originalText.replace('d', 'r');
originalText = originalText.replace('f', 't');
originalText = originalText.replace('g', 'y');
......等等
答案 1 :(得分:1)
这是Java还是JavaScript? Java就像狼一样对待仓鼠。
无论如何,你的代码字面上说“将第一个替换分配给mixedLetterText
,然后逐个计算所有其他替换并将它们扔掉”。
根据您希望的工作方式,您可以直接链接替换项:
String mixedLetterText = originalText
.replace('a','w').replace('s','e')........
但是,请记住,如果您有交叉,则可能会遇到问题。例如,如果您的代码在链中,如果输入为g
,那么输出将为6
,而不是您期望的y
。
如果您使用的是Java,那么this question将帮助您找到执行转换的功能。如果是Java 脚本,那么this function将有所帮助。
答案 2 :(得分:0)
在您的代码中,您只是尝试更改原始文本一次。 进行这些更改
String mixedLetterText=originalText.replace('s', 'e');
mixedLetterText=originalText.replace('d', 'r');
mixedLetterText=originalText.replace('f', 't');
mixedLetterText=originalText.replace('g', 'y');
mixedLetterText=originalText.replace('h', 'u');
mixedLetterText=originalText.replace('j', 'i');
mixedLetterText=originalText.replace('k', 'o');
mixedLetterText= originalText.replace('l', 'p');
mixedLetterText=originalText.replace('z', 's');
mixedLetterText=originalText.replace('x', 'd');
mixedLetterText=originalText.replace('c', 'f');
mixedLetterText=originalText.replace('v', 'g');
mixedLetterText=originalText.replace('b', 'h');
mixedLetterText=originalText.replace('n', 'j');
mixedLetterText=originalText.replace('m', 'k');
mixedLetterText=originalText.replace('q', '1');
mixedLetterText=originalText.replace('w', '2');
mixedLetterText=originalText.replace('e', '3');
mixedLetterText=originalText.replace('r', '4');
mixedLetterText=originalText.replace('t', '5');
mixedLetterText=originalText.replace('y', '6');
mixedLetterText=originalText.replace('u', '7');
mixedLetterText=originalText.replace('i', '8');
mixedLetterText=originalText.replace('o', '9');
mixedLetterText=originalText.replace('p', '0');