以下のコードには変数「name」があります。これには、姓名または名のみが含まれる場合があります。このコードは、変数「name」に空白があるかどうかをチェックします。スペースが存在する場合、それは分割されます。
ただし、以下の場合に「エラー:スレッド「main」の例外java.lang.ArrayIndexOutOfBoundsException:1 at Space.main(Space.java:9)」が発生します。
- 「リチャード」の前に空白がある場合
- 「Richard」の後に2番目の単語または2番目の文字列のない空白がある場合。
- 「Richard」の後にスペースが2つある場合、名前はlname変数に保存されません。
このエラーを解決する方法。
public class Space {
public static void main(String[] args) {
String name = "Richard rinse ";
if(name.indexOf(' ') >= 0) {
String[] temp;
temp = name.split(" ");
String fname = temp[0];
String lname = temp[1];
System.out.println(fname);
System.out.println(lname);
} else {
System.out.println("Space does not exists");}
}
}