私はこの文字列を分割して、各値を独自の変数に割り当てることができます。しかし、私はそれが境界のない例外として表示されないように見える。 lineSplit1 [0]だけで印刷すると、問題はlineSplit1 [1]を含めると始まります。ここで私はテキストファイル "Friday_7/4/2017_12:50_13:50¬Test¬"から分割しようとしている行の1つです文字列を分割する際の境界外の例外java
0
A
答えて
0
よくある問題は次のとおりです: java.lang.ArrayIndexOutOfBoundsException それはどういう意味ですか?存在しない配列の位置を取得しようとしていることを示しています(例のlineSplit1 [1]では)、なぜこれが起こりますか?おそらくあなたのファイルに文字 "¬"が2回以上含まれていないことがあります。例えば
この
String string = "Fridays7/4/2017d12:50d13:50dTestd";
String[] lineSplit1 = string.split("¬");
for(String s: lineSplit1){
System.out.println(s);
System.out.println(lineSplit1.length);
String day1 = lineSplit1[0];
String date1 = lineSplit1[1];
System.out.println(day1+""+date1);
}
}
を見て、私はあなたと同じ問題を抱えていますが、この使用することができます
String string = "Fridays7/4/2017d12:50d13:50dTestd";
String[] lineSplit1 = string.split("¬");
for(String s: lineSplit1){
System.out.println(s);
String day1 = lineSplit1[0];
String date1 = null;
if(lineSplit1.length>1)
date1= lineSplit1[1];
else
date1="thisisANullDate";
System.out.println(day1+""+date1);
}
}
今、私は私のプログラムを告げ、私の配列をチェックしますそれが正しい場合は1より大きいですが、私は日付が1であることを知っています。本当にうまくいけば、私は何でもできます。
1.あなたが持っているすべての行が同じであることを確認してください。(いつも同じ利用者がいることを知っているので分割しています) 2.何か起こらない場合は、私としてバリデーターを使用してください。
は、それはあなたに
0
を助けることを願って、この方法を試してみてください:
public static void main(String[] args){
String testStr="Friday¬7/4/2017¬12:50¬13:50¬Test¬";
String[] lineSplit1 = testStr.split("¬");
if (lineSplit1.length>1){
System.out.println("Number of words: "+lineSplit1.length); // print using index=1
System.out.println(lineSplit1[1]);
}
Scanner scanner = new Scanner(testStr);
while(scanner.hasNext()){
System.out.println(scanner.next());
}
scanner.close();
}
関連する問題
- 1. 文字列の境界外例外を取得する
- 2. Javaインデックス配列境界外例外例外
- 3. 境界外の例外
- 4. 文字列インデックスJavaの例外例外
- 5. 大文字/小文字の境界で分割文字列
- 6. MergeSortの境界外の例外
- 7. Java例外文字列フィルタ
- 8. Python:単語境界でユニコード文字列を分割する
- 9. アルファベット以外の文字で文字列を分割する
- 10. 制御フローC#(境界外例外)
- 11. アンドロイドマップ:配列インデックスが境界外の例外
- 12. Java Arrayの問題です。境界外の例外を投げる
- 13. 入力文字列のJava例外エラー
- 14. 配列境界外のポインタ
- 15. golang - 文字列置換 - スライス境界が範囲外にある
- 16. バックグラウンドノード+チェック文字列を反復処理する際の例外
- 17. Javaの分割文字列
- 18. javaで文字列を分割すると、予想外の結果が出る
- 19. アルファベット以外の文字で配列を分割する
- 20. 例外を含むスペースで文字列を分割する方法
- 21. 特定の境界内にない文字列で分割する
- 22. スレッド "main"内の例外java.lang.ArrayIndexOutOfBoundsException:境界外の座標setRGB
- 23. 文字列をJavaの文字列とintに分割する
- 24. Java Regex:アポストロフィ以外の単語以外の文字に基づく分割
- 25. 配列の境界外のC#
- 26. Java文字列分割エラー
- 27. Java文字列 "|"で分割
- 28. null文字列例外
- 29. サーブレット文字列例外
- 30. "インデックスが配列の境界外にありました"例外C#
あなたはそれをデバッグしましたか? 'lineSplit'に2つの要素が含まれていると思いますか? – Carcigenicate
@Carcigenticate debuggintは役に立ちませんでした。また、lineSplit1 [0]を印刷すると、金曜日に印刷されます。次の変数を見つけて割り当てるというすべての提案は、私が正しくそれをしたことを示唆しています。それが例外を理解していない理由です。 – hilario
'repeatData.txt'ファイルの内容を表示できますか? – Jezor