文字列が与えられ、開始点がデリミタの前の任意の数値を返す関数を作成しようとしています(', ')
。したがって手渡された場合("45,621,9", 0)
それは45
を返します。StringIndexOutOfBoundsException - 処理
これは私が持っているもので、文字列の最後を叩いてからStringIndexOutOfBoundsException
をString index out of range: 8
と投げるまでうまくいきます。
だから私が("45,621,9", 7)
で試してみると、私はそのエラーを受け取ります。どのように私は文字列の終わりを処理し、ループを停止することができますか?私はnull
チェックを使用することを考えましたが、char
は原始的なので私はできません。
final char delim = ',';
char dataStorage;
int nextItem (String data, int startFrom) {
String dataValue = "";
for (int i = startFrom; i < delim; i++) {
dataStorage = data.charAt(startFrom);
if (dataStorage != delim) {
dataValue = dataValue + dataStorage;
startFrom ++;
}
}
startFrom++;
return Integer.parseInt(dataValue);
}
は今、私はnextItem("45,621,9", 7)
を呼び出す場合、私はそれが9
を返却して、ループを停止する必要があり、その例外を取得します。
ループ条件は本当に意味がありません:for(int i = startFrom; i
タグを言語名 – derloopkat