3 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
直接的解決方案:在循環(huán)中放置一個(gè) if 塊!
您現(xiàn)在正在無(wú)條件地添加字符。例如,您只能附加數(shù)字字符。那么任何其他東西,比如“-”,都不會(huì)出現(xiàn)在你的輸出中!

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
你可以嘗試這樣的事情。
public class App {
public static void main(String[] args) {
String input = "78-889-969-*)(963====";
StringBuilder builder = new StringBuilder();
for (int i = input.length() - 1; i >= 0; i--) {
if (input.charAt(i) >= 48 && input.charAt(i) <= 57) {
builder.append(input.charAt(i));
}
}
System.out.println("builder = " + builder.toString());
}
}
使用Character.isDigit()
public class App {
public static void main(String[] args) {
String input = "78-889-969-*)(963====";
StringBuilder builder = new StringBuilder();
for (int i = input.length() - 1; i >= 0; i--) {
if (Character.isDigit(input.charAt(i))) {
builder.append(input.charAt(i));
}
}
System.out.println("builder = " + builder.toString());
}
}

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
將 for 循環(huán)替換為以下內(nèi)容。
for (int i = num.length() - 1; i >= 0; i--)
{
if(num.charAt(i) == 45){
break;
}
reverse = reverse + num.charAt(i);
}`
45 是符號(hào)的 ASCII 值-。檢查if(num.charAt(i) == 45)是否有-符號(hào),如果有,它會(huì)在打印符號(hào)之前中斷循環(huán)-。注意 - 循環(huán)在達(dá)到 i = 0 之前不會(huì)中斷。
添加回答
舉報(bào)