/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
System.
out.
println(NumberNames
("Bobby")); System.
out.
println(NumberNames
("Bobby Smith")); System.
out.
println(NumberNames
("Bobby L. Smith")); System.
out.
println(NumberNames
(" Bobby Paul Smith Jr. ")); }
public static int NumberNames
(String wholename
) {
// store the name passed in to the method
// and take the "white space" from the beginning and end
// and replace multiple whitespaces for a single space
String testname
= wholename.
replaceAll("\\s+",
" ").
trim(); int testnameLength = testname.length();
// initialize number of names found
int numnames = 0;
// on each iteration remove one name
while (testnameLength > 0)
{
// determine the position of the first blank
// .. end of the first word
int posBlank = testname.indexOf(' ');
if(posBlank == -1)
{
numnames++;
break;
}
// cut off word
testname = testname.substring(posBlank + 1, testnameLength);
testnameLength = testname.length();
//System.out.println(numnames);
//System.out.println(testname);
numnames++;
}
return numnames;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihOdW1iZXJOYW1lcygiQm9iYnkiKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKE51bWJlck5hbWVzKCJCb2JieSBTbWl0aCIpKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oTnVtYmVyTmFtZXMoIkJvYmJ5IEwuIFNtaXRoIikpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihOdW1iZXJOYW1lcygiICBCb2JieSAgUGF1bCBTbWl0aCBKci4gICIpKTsKCX0KCQoJcHVibGljIHN0YXRpYyBpbnQgTnVtYmVyTmFtZXMoU3RyaW5nIHdob2xlbmFtZSkKICAgIHsgICAKICAgICAgICAvLyBzdG9yZSB0aGUgbmFtZSBwYXNzZWQgaW4gdG8gdGhlIG1ldGhvZAogICAgICAgIC8vIGFuZCB0YWtlIHRoZSAid2hpdGUgc3BhY2UiIGZyb20gdGhlIGJlZ2lubmluZyBhbmQgZW5kCiAgICAgICAgLy8gYW5kIHJlcGxhY2UgbXVsdGlwbGUgd2hpdGVzcGFjZXMgZm9yIGEgc2luZ2xlIHNwYWNlCiAgICAgICAgU3RyaW5nIHRlc3RuYW1lID0gd2hvbGVuYW1lLnJlcGxhY2VBbGwoIlxccysiLCAiICIpLnRyaW0oKTsKICAgICAgICBpbnQgdGVzdG5hbWVMZW5ndGggPSB0ZXN0bmFtZS5sZW5ndGgoKTsKICAgICAgICAvLyBpbml0aWFsaXplIG51bWJlciBvZiBuYW1lcyBmb3VuZAogICAgICAgIGludCBudW1uYW1lcyA9IDA7CiAgICAgICAgLy8gb24gZWFjaCBpdGVyYXRpb24gcmVtb3ZlIG9uZSBuYW1lCiAgICAgICAgd2hpbGUgKHRlc3RuYW1lTGVuZ3RoID4gMCkKICAgICAgICB7ICAgCiAgICAgICAgICAgLy8gZGV0ZXJtaW5lIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmlyc3QgYmxhbmsKICAgICAgICAgICAvLyAuLiBlbmQgb2YgdGhlIGZpcnN0IHdvcmQKICAgICAgICAgICBpbnQgcG9zQmxhbmsgPSB0ZXN0bmFtZS5pbmRleE9mKCcgJyk7CiAgICAgICAgICAgaWYocG9zQmxhbmsgPT0gLTEpCiAgICAgICAgICAgewogICAgICAgICAgIAkgICBudW1uYW1lcysrOwogICAgICAgICAgIAkgICBicmVhazsKICAgICAgICAgICB9CiAgICAgICAgICAgLy8gY3V0IG9mZiB3b3JkCiAgICAgICAgICAgdGVzdG5hbWUgPSB0ZXN0bmFtZS5zdWJzdHJpbmcocG9zQmxhbmsgKyAxLCB0ZXN0bmFtZUxlbmd0aCk7CiAgICAgICAgICAgdGVzdG5hbWVMZW5ndGggPSB0ZXN0bmFtZS5sZW5ndGgoKTsKICAgICAgICAgICAvL1N5c3RlbS5vdXQucHJpbnRsbihudW1uYW1lcyk7CiAgICAgICAgICAgLy9TeXN0ZW0ub3V0LnByaW50bG4odGVzdG5hbWUpOwogICAgICAgICAgIG51bW5hbWVzKys7ICAgICAgIAogICAgICAgIH0gICAgCiAgICAgICAgcmV0dXJuIG51bW5hbWVzOwogICAgfQp9