我必须创建一个带有字符串输入的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?
}
}
此致 盖尔
答案 0 :(得分:0)
假设您的角色转换表存储在Map<Character, Character>
中,则应执行此操作:
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));
此代码使用IntStream
方法从char
获取代表String
个人的String#chars
。然后它遍历它们中的每一个,在地图中查找它们并在需要时替换它们,最后它使用可变StringBuffer
类执行变异减少。如果您需要结果为String
,只需调用其toString
方法。