我必须用字母表中的下一个字符替换奇数位置的输入字符串的字符 例如
输入 - package Graphix;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageLoader {
public static BufferedImage laodImage(String path){
try {
return ImageIO.read(ImageLoader.class.getResource(path));
} catch (IOException e){
e.printStackTrace();
System.exit(1);
}
return null;
}
}
输出 - ABCD
我想要这样的东西
BBDD
答案 0 :(得分:3)
你几乎就在那里,需要做更多的事情来实现目标。您必须注意以下事项并进行更改:
i%2==0
确定是否需要替换字符,因此您必须在此处应用条件运算符(?:
)。(char)((int)x + 1)
。这将首先评估(int)x
并给出该特定字符的整数值。然后将1
添加到它然后获取相应的字符。 String.Join
从字符数组中输出字符串您可以尝试这样的事情:
string input = "ABCD";
char[] k = input.Select((x, i) => i % 2 == 0 ? (char)((int)x + 1) : x).ToArray();
string output = String.Join("",k);
请注意以下事项:
Z
,则将分配ASCII表中的下一个值,即[
。z
到a
而Z
到A
,那么您必须为此申请条件。答案 1 :(得分:0)
string output = string.Concat(input.Select((c, i) => (char)(c + ++i % 2)));