3 回答
TA贡献1779条经验 获得超6个赞
我稍微清理了你的代码。不要依赖不会提高代码可读性的临时变量。尝试使用for-each循环(它们可以提高可读性)。应用这两点,给我们
String[] list = { "every", "nearing", "checking", "food", "stand", "value" };
for (String word : list) {
for (int i = word.length() - 1; i >= 0; i--) {
System.out.print(word.charAt(i));
}
System.out.println();
}
这是基于您的原始代码。就个人而言,我更喜欢使用StringBuilder它的reverse()方法。喜欢,
for (String word : list) {
System.out.println(new StringBuilder(word).reverse());
}
或在 Java 8+ 中,map类似
Arrays.stream(list).map(s -> new StringBuilder(s).reverse())
.forEachOrdered(System.out::println);
TA贡献1877条经验 获得超6个赞
for ( int i = length - 1 ; i >= 0 ; i-- )
length您在上面使用的值是list数组的长度,而不是单词。
记住在每个循环后清空反向词:
System.out.println(reverse);
reverse = "";
如果你不冲洗,你会得到:
yrev
yrevgnirae
yrevgniraegnikceh
yrevgniraegnikcehdoo
yrevgniraegnikcehdoodnat
yrevgniraegnikcehdoodnateula
代替:
yrev
gnirae
gnikceh
doo
dnat
eula
TA贡献1804条经验 获得超7个赞
验证提供的参数在 Main.java:13 中是否有效。检查提供的偏移量是否指向有效索引,并且 count 参数未指向大于字符串本身大小的索引。
一个替代:
public String[] reverseString(String[] words)
{
String[] reverse=new String[words.length];
for(int i=0;i<words.length;i++)
{
//added for setting element as emptyString instead of null
reverse[i] = "";
for(int j=words[i].length()-1;j>=0;j--)
{
reverse[i]+=words[i].substring(j,j+1);
}
}
System.out.println(Arrays.toString(reverse));
return reverse;
}
添加回答
举报