题目:输入几个单词,将字母变换成另外一组单词输出?如果字母是i,则变换后的字母是26+i-1 思路:输入的单词空格相隔,以空格切分单词,然后遍历每个单词,如何单词中含有i字符,就遍历单词的每个字母,利用Stringbuffer来重新拼接单词,去掉字符串两端和中间的空格即可。
package com.wx.day10;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
/**输入几个单词,将字母变换成另外一组单词输出?如果字母是i,则变换后的字母是26+i-1*/
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
String[] split = line.split(" ");
bianHuan(split);
}
private static void bianHuan(String[] split) {
for (int i = 0; i < split.length; i++) {
StringBuffer sb = new StringBuffer();
if (split[i].indexOf("i") != -1) {
char[] chars = split[i].toCharArray();
for (int j = 0; j < chars.length; j++) {
if (chars[j]=='i'){
chars[j]=' ';
sb.append("26+i-1");
}
sb.append(chars[j]);
}
split[i]=sb.toString().trim().replace(" ","");
}
}
for (int i = 0; i < split.length; i++){
System.out.print(split[i]+" ");
}
}
}
结果: