0

私はついに私のアプリで機能するマップとポイント(配列)を持っています。簡単な質問:substring()「stringIndexOutOfBoundException」という致命的な例外があります

一般的に、それは何を指しているのですか?

substring()?を使用して文字列の終わりを通過します

ありがとう、

4

3 に答える 3

1
testing.substring(1,2);

(特定の文字を見つけるために各文字を解析したい)

substring()1つの長さの文字列(1文字だけ)を取得するために使用するのではなくcharAt(int)、特定の位置に使用します。文字列内のすべての文字を調べる必要がある場合は、全体をchar[]最初の文字に変換して(を使用してtoCharArray())、それを繰り返すことをお勧めします。

于 2012-04-23T00:38:09.693 に答える
0

はい、一般的に文字列の境界の終わりを超えています。

Java APIは、そのようにさえ教えてくれます...

IndexOutOfBoundsException-beginIndexが負であるか、このStringオブジェクトの長さより大きい場合。

APIの使用に慣れる必要があります。メソッドがスローする例外とその理由がわかります。

サブストリングを試行する前に、ストリングの長さと値を出力してみてください。それはあなたが問題を見るのを助けるでしょう。

例えば...

String testing = "Hello StackOverflow";
System.out.println("Length of testing = " + testing.length);
System.out.println("Value of testing = " + testing);
testing.substring(1,2);
于 2012-04-22T23:51:12.750 に答える
0

ここの公式ドキュメントに記載されているように:

public String substring(int beginIndex)

この文字列のサブ文字列である新しい文字列を返します。サブストリングは、指定されたインデックスの文字で始まり、このストリングの終わりまで続きます。

スロー:IndexOutOfBoundsException-beginIndexが負であるか、このStringオブジェクトの長さより大きい場合。

于 2012-04-22T23:55:27.443 に答える