Als ein Schulprojekt wurde ich gebeten, ein Programm zu machen, das Initialen des eingegebenen Namens anzeigt (zB. Für Akshat Abhay Shetye würde es A. Shetye anzeigen).String Index Out of Bounds mit charAt
Dies funktioniert gut auf meinem Schule PC, der eine alte bluej und Java ausführt, aber einen Fehler (StringIndexOutOfBoundsException: String-Index außerhalb des Bereichs), wenn ich es ausführen. Das ist mein Programm:
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);
}
}
Kann jemand den Fehler erklären (in Zeile 16)?
'i = I' ein Tippfehler sein muss. – Eran