Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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_String_Algorithm - Fatal编程技术网

替换字符串方法java中的每个字母

替换字符串方法java中的每个字母,java,string,algorithm,Java,String,Algorithm,我必须创建一个带有字符串输入的java方法,它必须返回一个字符串 该方法必须获取输入字符串,并用表中的另一个字母替换该字符串中的每个字母 例如,该表是: Input | Output a | n c | H h | B @ | q 如果输入为“aahh@”,则输出必须为“nnBBq” 请协助使用此java方法,谢谢。以及如何在java中高效地存储表。实际表格更长,即35个术语。谢谢 我试过这个 public String func(String s){

我必须创建一个带有字符串输入的java方法,它必须返回一个字符串

该方法必须获取输入字符串,并用表中的另一个字母替换该字符串中的每个字母

例如,该表是:

Input | Output
 a     | n
 c     | H
 h     | B
 @     | q
如果输入为“aahh@”,则输出必须为“nnBBq”

请协助使用此java方法,谢谢。以及如何在java中高效地存储表。实际表格更长,即35个术语。谢谢

我试过这个

public String func(String s){
   for (int i=0; i<5; i++){
      //what to do?
   }
}
公共字符串函数(字符串s){

对于(int i=0;i假设您的字符转换表存储在
映射中,则应这样做:

Map<Character, Character> map = new HashMap<>();
StringBuffer result = str.chars()
    .mapToObj(i -> map.get((char)i) == null ? String.valueOf((char) i)
            : String.valueOf((char) map.get((char)i)))
    .collect(Collectors.reducing(new StringBuffer(), StringBuffer::new, StringBuffer::append));
Map Map=newhashmap();
StringBuffer结果=str.chars()
.mapToObj(i->map.get((char)i)=null?String.valueOf((char)i)
:String.valueOf((char)map.get((char)i)))
.collect(Collectors.reduceing(new-StringBuffer(),StringBuffer::new,StringBuffer::append));

此代码使用
String#chars
方法从
String
中获取一个
IntStream
表示单个
char
。然后,它遍历每个字符串,在映射中查找它们并在需要时替换它们,最后使用可变
StringBuffer
如果您需要将结果作为
字符串
,只需调用其
toString
方法即可。

您是否需要家庭作业答案?;)您可以使用哈希映射作为一个表,并在字符串上进行迭代。有许多不太复杂的方法可以实现这一点。我们可以帮助您更进一步,但我们需要知道是什么阻止了您。您能试着描述一下您到目前为止提出了什么吗?我投票结束这个问题,因为代码示例似乎不是a我们试图解决这个问题,所以这是一个“给我代码”的问题。