need help with StringTokenizer

R

ros

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
 
L

ligerdave

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


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();
}
 
R

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();
}

Thanks for the advice ligerdave. That solved my problem.

Really appreciate your help.

Ros
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top