Consider an interface
public interface NumberFormatter
{
String format (int n);
}
Provide four classes that implement this interface. A DefaultFormatter formats an integer in the
usual way. A DecimalSeparatorFormatter formats an integer with decimal separators; for
example, one million as 1,000,000. An AccountingFormatter formats negative numbers with
parenthesis; for example, -1 as (1). A BaseFormatter formats the number as base n, where n is
any number between 2 and 36 that is provided in the constructor.
Write a method that takes an array of integers and a NumberFormatter object and prints each
number on a separate line, formatted with the given formatter. The numbers should be right
aligned.
Provide a test class called FormatIntsTest.java that shows the program working with an array of
numbers. Use the numbers 8, 100, -10, 45, 0 as your test values in the array. Show all four
formatters working with the array. Use 20 for n for the BaseFormatter.