Java 如何解决这些编码问题?

Java 如何解决这些编码问题?,java,Java,我将如何在CodingBat中解决这些问题 1.当收到一封字符信时,您将返回10个位置之外的字母 tenLettersAway('A') → K tenLettersAway('B') → L tenLettersAway('C') → M wordEncoder("HELLO") → "ROVVY" wordEncoder("WORLD") → "GYBVN" wordEncoder("MARY") → "WKBI" 2.当给定一个字符串单词时,将每个字母改为10位以外的字母 tenLet

我将如何在CodingBat中解决这些问题

1.当收到一封字符信时,您将返回10个位置之外的字母

tenLettersAway('A') → K
tenLettersAway('B') → L
tenLettersAway('C') → M
wordEncoder("HELLO") → "ROVVY"
wordEncoder("WORLD") → "GYBVN"
wordEncoder("MARY") → "WKBI"
2.当给定一个字符串单词时,将每个字母改为10位以外的字母

tenLettersAway('A') → K
tenLettersAway('B') → L
tenLettersAway('C') → M
wordEncoder("HELLO") → "ROVVY"
wordEncoder("WORLD") → "GYBVN"
wordEncoder("MARY") → "WKBI"
3.当给定字符串数组时,返回由空格分隔的所有字符串的串联

sumOfArray({"cat", "ate", "dog"}) → "cat ate dog"
sumOfArray({"pig", "sleep", "softly"}) → "pig sleep softly"
sumOfArray({"Mary", "had", "a", "little", "lamb"}) → "Mary had a little lamb"

谢谢

我不知道是否应该回答这个问题,但下面是如何回答的-

String encrypted = "";

for (char elements : charArray) {
    encrypted += (elements + 10);
}
java中的
char
仅被视为无符号整数。因此,要使一个字符远离它10个位置,只需将10个字符添加到该字符中即可。这里有一个快速演示-

char vx = 'a';
vx = vx + 10;
// Now the value of **vx** is **k**

你可以用一个类似的算法来回答你的第二个问题-

String str = "HELLO";                 //Your string
char[] charArray = str.toCharArray(); //Convert it to a character array
String myList[] = {"Cat", "ate", "dog"};
String fin = "";

for (String conc : myList) {
    fin = fin + conc + " ";
}

//finally remove the last extra space
fin = fin.substring(0, fin.length()-1);
char a = 'z';
a = a + 1;
现在,数组必须像
['H','E','L','L','O']

现在,下一步是循环遍历数组,获取10个字符以外的字母,然后将其添加到字符串中

下面是如何做到这一点-

String encrypted = "";

for (char elements : charArray) {
    encrypted += (elements + 10);
}
加密的字符串应包含所需的加密字符串


我们可以用同样的技巧来回答第三个问题

循环遍历数组,添加数组元素,然后使用如下空格分隔它们-

String str = "HELLO";                 //Your string
char[] charArray = str.toCharArray(); //Convert it to a character array
String myList[] = {"Cat", "ate", "dog"};
String fin = "";

for (String conc : myList) {
    fin = fin + conc + " ";
}

//finally remove the last extra space
fin = fin.substring(0, fin.length()-1);
char a = 'z';
a = a + 1;

补充说明: 上面给出的示例可能并不总是如预期的那样有效。可能会有这样的情况-

String str = "HELLO";                 //Your string
char[] charArray = str.toCharArray(); //Convert it to a character array
String myList[] = {"Cat", "ate", "dog"};
String fin = "";

for (String conc : myList) {
    fin = fin + conc + " ";
}

//finally remove the last extra space
fin = fin.substring(0, fin.length()-1);
char a = 'z';
a = a + 1;
上面给出的示例不会打印a,但会打印{,因为它是Unicode表中z的下一个字符

请参阅(或以更广泛的视角)以识别此类案例并消除它们


希望对你有所帮助

你有没有先自己动手做这些事情?练习有什么意义如果我们为你做所有的工作,那就编程吧?我试过了。它总是给我编译器错误!
1)
从一次只问一个问题开始。
2)
将你为解决问题而编写的代码作为你的问题的一部分发布。
3)
发布你收到的错误以及你不理解的错误。这是我给sumOfA的代码array.public String sumOfArray(String[]arr){for(inti=0;我希望你能给我灵感!我以前不知道怎么做。