1

私は、可能なすべての部分文字列を循環して作成する必要がある String を持っています。たとえば、「He​​lloWorld」があった場合、「rld」が可能性の 1 つになるはずです。String メソッドの substring(int i, int k) は k を除くため、

|H|e|l|l|o|W|o|r|l|d|
 0 1 2 3 4 5 6 7 8 9

それから

substring(7,9) は "rl" を返します

これを回避し、包括的に機能させるにはどうすればよいですか? 部分文字列が作成元の文字列と等しくならない理由を理解していますが、この場合、この場合は非常に役立ちます。

Codingbat の例: http://codingbat.com/prob/p137918

私が思いついたこと:

public String parenBit(String str) {
  String sub;
  if (str.charAt(0) == '(' && str.charAt(str.length() - 1) == ')')
    return str;
  for (int i = 0; i < str.length() - 1; i++) {
    for (int k = i + 1; k < str.length(); k++) {
      sub = str.substring(i,k);

    }
  }
  return null;
}
4

2 に答える 2

1

整数で作業している場合、排他的から包括的への変換は簡単です。1 を追加するだけです。

String substringInclusive(String s, int a, int b)
{
    return s.substring(a, b+1);
}
于 2013-11-14T19:10:00.070 に答える