Java 文字列インデックスの範囲外例外 (StringIndexOutOfBoundsException) を解決する方法
はじめに: Java プログラミングでは、StringIndexOutOfBoundsException 例外は頻繁に発生する例外です。この例外は主に、文字列のインデックスが文字列の長さの範囲を超えていることが原因で発生します。この記事では、この例外を解決する方法について説明し、対応するコード例を示します。
1. 例外の原因
Java では、文字列は文字で構成される文字列です。文字列のインデックス付けは 0 から始まります。インデックスを使用して文字列内の文字にアクセスする場合、インデックスが文字列の長さの範囲を超えると、StringIndexOutOfBoundsException 例外が発生します。
2. 解決策
Java 文字列インデックスの範囲外例外を解決するには、次の方法を使用できます:
String str = "Hello World"; int index = 10; if (index >= 0 && index < str.length()) { char ch = str.charAt(index); System.out.println(ch); } else { System.out.println("索引超出范围"); }
String str = "Hello World"; int index = 10; try { char ch = str.charAt(index); System.out.println(ch); } catch(StringIndexOutOfBoundsException e) { System.out.println("索引超出范围"); }
3. 実践例
以下では、上記の解決策をより詳しく理解し、適用するために実践的な例を使用します。
public class StringIndexOutOfBoundsExceptionExample { public static void main(String[] args) { String str = "Java is a great programming language"; int index = 50; // 方案一:使用索引之前先检查字符串的长度 if (index >= 0 && index < str.length()) { char ch = str.charAt(index); System.out.println(ch); } else { System.out.println("索引超出范围"); } // 方案二:使用try-catch块捕获异常 try { char ch = str.charAt(index); System.out.println(ch); } catch(StringIndexOutOfBoundsException e) { System.out.println("索引超出范围"); } } }
上記のコード例では、まず「Java は優れたプログラミング言語です」という文字列を定義し、次に文字列の長さの範囲を超えるインデックス 50 を設定します。
オプション 1 を使用して、まずインデックスが妥当な範囲内にあるかどうかを確認し、妥当な範囲内にある場合は、charAt() メソッドを通じて対応する文字を取得し、出力を出力します。インデックスが範囲外の場合は、「インデックスが範囲外です」というプロンプトメッセージが出力されます。
オプション 2 では、try-catch ブロックを使用して StringIndexOutOfBoundsException 例外をキャッチします。 try ブロックでは、charAt() メソッドを使用して、対応する文字を取得し、出力を出力します。インデックスが範囲外の場合、StringIndexOutOfBoundsException がスローされます。 catch ブロックで例外をキャッチし、「インデックスが範囲外です」というプロンプト メッセージを出力します。
上記のコード例を実行すると、次の出力が得られます。
索引超出范围 索引超出范围
これまで、Java 文字列インデックスの範囲外例外 (StringIndexOutOfBoundsException) を解決する方法を学習しました。文字列の長さをチェックし、try-catch ブロックを使用して例外をキャッチすることで、この例外を効果的に解決し、プログラムの正常な実行を保証できます。この記事があなたのお役に立てば幸いです、読んでいただきありがとうございます!
以上がJava 文字列インデックス範囲外例外 (StringIndexOutOfBoundsException) を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。