Skip to content
Snippets Groups Projects

Resolve "Employee report 2"

Merged Colin DAMON requested to merge 126-employee-report-2 into master
9 files
+ 184
0
Compare changes
  • Side-by-side
  • Inline
Files
9
 
package fr.ippon.employee;
 
 
import java.util.regex.Matcher;
 
import java.util.regex.Pattern;
 
 
public record Employee(String name, int age) {
 
 
private static Pattern NAME_PATTERN = Pattern
 
.compile("(\\p{L}+)(\\P{L}*)");
 
 
public Employee(String name, int age) {
 
this.name = format(name);
 
this.age = age;
 
}
 
 
private String format(String name) {
 
Matcher matcher = NAME_PATTERN.matcher(name);
 
 
StringBuilder result = new StringBuilder();
 
while (matcher.find()) {
 
result.append(capitalize(matcher.group(1)))
 
.append(matcher.group(2));
 
}
 
 
return result.toString();
 
}
 
 
private String capitalize(String word) {
 
return word.substring(0, 1)
 
.toUpperCase()
 
+ word.substring(1, word.length())
 
.toLowerCase();
 
}
 
 
boolean isAdult() {
 
return age >= 18;
 
}
 
 
}
Loading