Hello,
I need help writing code that converts a given name like into initials
and surname. For example, if a name is Ricky James, it should do R
James and if the name is Henry William James, that should become H W
James.
I have written a method that converts Ricky James to R James and I
have used StringTokenizer, but I need help if the name has 3 or more
tokens, like the second one.
I know I can use StringTokenizer method hasMoreTokens() but I can't
really make out how the logic works.
My try is pasted below:
code:
void myMethod(String name) {
this.name = name;
StringTokenizer str = new StringTokenizer(name, " ");
int numb = str.countTokens();
String first = str.nextToken();
String second = str.nextToken();
System.out.println("The no. of tokens are - " + numb);
System.out.println("The name is - " + first.charAt(0) + "
" + second);
}
Would really appreciate help with this.
Ros
ligerdave - 06 May 2007 08:22 GMT
> Hello,
>
[quoted text clipped - 29 lines]
> Would really appreciate help with this.
> Ros
check countTokens() every time after you used nextToken() to see if it
returns 1. if it returns 1, you know there is only one token left.
something like this:
StringTokenizer str = new StringTokenizer(name);
while(str.hasMoreTokens()){
if(str.countTokens() > 1)
str.nextToken().charAt(0);
else
str.nextToken();
}
ros - 06 May 2007 09:28 GMT
> > Hello,
>
[quoted text clipped - 43 lines]
> str.nextToken();
> }
Thanks for the advice ligerdave. That solved my problem.
Really appreciate your help.
Ros