请完整解决方案!从括号中获取子串JAVA
鉴于包含一对括号的字符串,计算递归制成仅括号及其 内容的一个新的字符串,所以“XYZ(ABC)123”产率“(ABC)” 。
parenBit( “XYZ(ABC)123”)→ “(ABC)”
parenBit( “×(你好)”)→ “(你好)”
parenBit(“(XY )1" )→ “(XY)”
我的解决方案不起作用
public String parenBit(String str) {
char c;
int start = 0;
int end = 0;
for(int i=0; i < str.length(); i++){
c = str.charAt(i);
if(c == '('){
start = i;
} if(c == '('){
end = i;
return str.substring(start, end);
}
}
return "andrew";
}
它不打印出任何东西。为什么?
是否应'第二个if(C ==“)”)' – AhmadWabbi
赋值说,你必须写一个递归* *方法来做到这一点。您的解决方案不使用递归(=方法应该调用它自己)。 – Jesper
您的解决方案返回第一次出现''(''为空字符串。 修复:更改'} if(c =='('){'to'} else if(c ==')'){' – krzydyn