Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中用字符串数组中的字符串替换字符_Java - Fatal编程技术网

在java中用字符串数组中的字符串替换字符

在java中用字符串数组中的字符串替换字符,java,Java,大家好,所有的程序员在那里,任何帮助是感激的,因为这是一个个人项目,而不是一个学校,我认为会很有趣,但结果不是这样。现在,该项目将读取一个输入文件,将其与一个srting[]alphabets={a,b,c……z}进行比较,然后用另一个字符串[]newAlphabets={Apple,Ball,Cat,…Zebra}替换这些字母。现在我已经尝试了简单的replaceAll示例,它有点奏效了。但计划是输入一个.txt文件,运行替换并输出一个新文件。 JamesBond.txt:名字是邦德,詹姆斯·

大家好,所有的程序员在那里,任何帮助是感激的,因为这是一个个人项目,而不是一个学校,我认为会很有趣,但结果不是这样。现在,该项目将读取一个输入文件,将其与一个srting[]alphabets={a,b,c……z}进行比较,然后用另一个字符串[]newAlphabets={Apple,Ball,Cat,…Zebra}替换这些字母。现在我已经尝试了简单的replaceAll示例,它有点奏效了。但计划是输入一个.txt文件,运行替换并输出一个新文件。 JamesBond.txt:名字是邦德,詹姆斯·邦德。 Output.txt应该是:noappleMonKeyElephantsnake BallOpenNoDuck、JungelAppleMonkeyElephantSnake BallOpenNoDuck。 以下是我目前掌握的情况:


不会给你密码的。这个答案为您自己编写代码提供了提示

不要使用。你必须做26次,这并不是一个好的解决方案

相反,创建一个用于构建结果字符串的。然后使用string方法和使用normalfor循环遍历输入字符串的字符

下面是简化代码的主要技巧。Java以Unicode存储文本,其中字母a到z连续存储。这意味着您可以将索引计算到新字母表数组中。为此,您将编写如下代码:

char ch = ...;
if (ch >= 'a' && ch <= 'z') {
    int idx = ch - 'a';  // number between 0 and 25, inclusive
    // use idx here
} else if (ch >= 'A' && ch <= 'Z') {
    int idx = ch - 'A';  // number between 0 and 25, inclusive
    // use idx here
} else {
    // not a letter
}

希望这能帮助您自己编写代码。

Oops!拼写错误修正。非常感谢你们的帮助,安德烈亚斯。我会按照你们的建议解决问题,然后再和你们联系。因此,今后如有任何帮助或建议,我们将不胜感激。非常抱歉,我的错误。
char ch = ...;
if (ch >= 'a' && ch <= 'z') {
    int idx = ch - 'a';  // number between 0 and 25, inclusive
    // use idx here
} else if (ch >= 'A' && ch <= 'Z') {
    int idx = ch - 'A';  // number between 0 and 25, inclusive
    // use idx here
} else {
    // not a letter
}