为什么这个循环会反转Java中的字符串
我试图删除给定字符串中的空白,虽然我已经做到了这一点,但返回的字符串看起来是相反的。谁能解释一下原因吗为什么这个循环会反转Java中的字符串,java,string,loops,Java,String,Loops,我试图删除给定字符串中的空白,虽然我已经做到了这一点,但返回的字符串看起来是相反的。谁能解释一下原因吗 public String removeSpaces(String cadena) { String noSpace=""; for (int i = 0; i < cadena.length(); i++) { if (cadena.charAt(i) == ' ') { noSpace=noSpace; }els
public String removeSpaces(String cadena) {
String noSpace="";
for (int i = 0; i < cadena.length(); i++) {
if (cadena.charAt(i) == ' ') {
noSpace=noSpace;
}else{
noSpace=cadena.charAt(i)+noSpace;
}
}
return noSpace;
}
要删除空白,可以执行以下操作:
str.replaceAll\\s+,如果要使用这种方法,只需稍微更改一下:
public String removeSpaces(String cadena) {
String noSpace="";
for (int i = 0; i < cadena.length(); i++) {
if (cadena.charAt(i) != ' ') {
noSpace+=cadena.charAt(i);
}
}
return noSpace;
}
noSpace=cadena.charAti+noSpace;=>noSpace=noSpace+cadena.charAti;-也可以只做cadena=cadena.replace,;你有没有试着用一个小例子来解释这个问题?因为你把这个字符添加到了字符串的开头?还有,我明白了,为什么要为并没有op而烦恼呢。如果我更改顺序,它将以正确的顺序返回de字符串。但我还是不明白为什么它会反转它:/无论如何,谢谢;是的,我试过一些不起作用的东西。请记住,我在Java的第一个月,我通常会问我们的老师,但他已经病了好几天了,这是一个大作业的一部分,除了谷歌之外,我什么都没有弄清楚。@nakkeru有什么需要理解的?玩电脑,写下正在发生的事情。如果您的字符串是ABC,那么您正在构建如下输出字符串:A+,B+A,C+BA。很简单。如果您在输出字符串的末尾添加字符,它是:+A,A+B,AB+CWell,我们不应该知道如何使用方法,所以我们被迫以更手动的方式来做,排序说话。但是谢谢你;不要忘记,您可以随时查看Java源代码,以了解这些方法是如何在后台实现的。它们可以用作学习工具。