2 回答

TA贡献1856条经验 获得超5个赞
对于小写使用这个:
String str = "abcdef";
char[] ch = str.toCharArray();
for (char c : ch) {
int temp = (int) c;
int temp_integer = 96; //for lower case
if (temp <= 122 & temp >= 97)
System.out.print(temp-temp_integer);
}
输出将是 -:123456
对于大写:
String str = "DEFGHI";
char[] ch = str.toCharArray();
for (char c : ch) {
int temp = (int) c;
int temp_integer = 64; //for upper case
if (temp <= 90 & temp >= 65)
System.out.print(temp-temp_integer);
}
输出将是 -:456789

TA贡献1895条经验 获得超7个赞
策略模式可以为您节省大量时间并为您提供最大的灵活性。假设我们定义一个AlphabetConverter接口,如下:
@FunctionalInterface
interface AlphabetConverter {
String convert(char ch);
}
然后,将convertAlphabet接受 的方法定义AlphabetConverter为:
public String convertAlphabet(String actual, AlphabetConverter converter) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < actual.length(); i++) {
sb.append(converter.convert(actual.charAt(i)));
}
return sb.ToString();
}
现在,您可以实现AlphabetConverter,一个用于替换String字母表,一个用于int数组,甚至可以使用 lambda 函数。
添加回答
举报