学校のプロジェクトとして、入力した名前の頭文字を表示するように求められました(たとえば.for Akshat Abhay ShetyeはA. A. Shetyeを表示します)。私はそれを実行すると:(範囲外の文字列インデックスStringIndexOutOfBoundsExceptionを)古いBlueJのとJavaを実行しますが、エラーがスローされます。これは、私の学校のPC上で正常に動作文字列インデックスcharAtの範囲外
。 これは私のプログラムです:
import java.util.*;
import java.lang.*;
public class dispInitials{
public static void main (String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Enter your full name");
String name = sc.next();
//name = name.trim();
String inName= name.charAt(0)+". ";
int i = 1;
for(i=1;i<(name.length()-1);i++){
if(Character.isWhitespace(name.charAt(i)))
break;
}
i++;
inName=inName+name.charAt(i)+". ";
for(i=i;i<name.length();i++){
if(Character.isWhitespace(name.charAt(i)))
break;
}
i++;
System.out.println("The name is "+inName);
}
}
誰もが(ライン16で)エラーを説明できますか?
'私は= i'はタイプミスでなければなりません。 – Eran