我正在尝试使用substring
方法删除字符串中的最后一个字符。
在if语句之外正常工作。但在其中只是通过if语句并返回原始String
。
public String getElkon(int p, int zbytek) {
System.out.println(zbytek);
for (int i = 0; i < p; i++) {
vysledek += elkon[i];
vysledek += " ";
System.out.println(vysledek);
}
***if(zbytek != 0){
vysledek = vysledek.substring(0, vysledek.length() - 1);
return vysledek;
}
else{
return vysledek;
}***
}
答案 0 :(得分:1)
如果您不必修改尾随空格以附加String
(s),那么您的代码会更直接。此外,您还不清楚为什么期望zbytek
控制trim
。我想你想要if (p != 0)
(因为这是你的循环哨兵)。我会使用StringJoiner
来实现这个,如
public String getElkon(int p, int zbytek) {
System.out.println(zbytek);
StringJoiner sj = new StringJoiner(" ");
for (int i = 0; i < p; i++) {
sj.append(elkon[i]);
}
return sj.toString();
}
答案 1 :(得分:0)
字符串中的最后一个字符是空格,因为您上次在for
循环中添加了它。
要修剪if
语句之前的最后一个空格,您可以使用代码
public String getElkon(int p, int zbytek) {
System.out.println(zbytek);
for (int i = 0; i < p; i++) {
vysledek += elkon[i];
vysledek += " ";
System.out.println(vysledek);
}
if (p > 0)
vysledek = vysledek.substring(0, vysledek.length() - 1);
if(zbytek != 0){
...
}
return vysledek;
}