I'm trying to figure out how I can find the index of the last character in the first word in a String variable, while using Scanner class to get the String. In my code I need to use a single String for full name, and find the index of the last character in the first name.
So far I made this:
String fullName;
Scanner s = new Scanner(System.in);
System.out.println("Insert full name: "); //For example: Joseph Adams.
fullName = s.nextLine();
int position = fullName.indexOf(" ");
System.out.println(fullName.substring(0, position));
//I need to find the index of h in Joseph.
解决方案
The index of the last character in the string is just str.length() - 1. For example, to find the index of the h in "Joseph":
public static int indexOfLast(String str){
return str.length() - 1;
}
The length of "Joseph" is 6 but there is no character at index 6 (Strings, like arrays, start with the first element at index 0). So, we subtract 1to get 5, which is the final character in the String. So doing:
String name = "Joseph";
name.charAt(indexOfLast(name));
will return h.