Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Consider an interface public interface NumberFormatter { String format (int n); } Provide four additional classes that implement this interface. COP3337 Assignment 4 A DefaultFormatter

Consider an interface

public interface NumberFormatter

{

String format (int n);

}

Provide four additional classes that implement this interface.

COP3337 Assignment 4

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.

I have provided the test class which should be included in the submission. It is called NumberFormatterTester.java. Please do not change this class.

Your project should have six classes included in the submission.

/**

Class to test the format method from classes that implement the NumberFormatter interface

*/

public class NumberFormatterTester

{

public static void main(String[] args)

{

final int small = 5;

final int neg = -10000;

final int large = 1000000;

final int maxBase = 36;

NumberFormatter numFormat;

numFormat = new DefaultFormatter();

System.out.println ("Default: " + numFormat.format(small) + " " + numFormat.format(neg) + " " +

numFormat.format(large) + " " + numFormat.format(maxBase));

System.out.println ("Expected: 5 -10000 1000000 36");

numFormat = new DecimalSeparatorFormatter();

System.out.println ("Decimal: " + numFormat.format(small) + " " + numFormat.format(neg) + " " +

numFormat.format(large) + " " + numFormat.format(maxBase));

System.out.println ("Expected: 5 -10,000 1,000,000 36");

numFormat = new AccountingFormatter();

System.out.println ("Accounting: " + numFormat.format(small) + " " + numFormat.format(neg) + " " +

numFormat.format(large) + " " + numFormat.format(maxBase));

System.out.println ("Expected: 5 (10000) 1000000 36");

numFormat = new BaseFormatter(2); // Binary System

System.out.println ("Base 2 : " + numFormat.format(small) + " " + numFormat.format(neg) + " " +

numFormat.format(large) + " " + numFormat.format(maxBase));

System.out.println ("Expected: 101 -10011100010000 11110100001001000000 100100");

numFormat = new BaseFormatter(8); // Octal System

System.out.println ("Base 8 : " + numFormat.format(small) + " " + numFormat.format(neg) + " " +

numFormat.format(large) + " " + numFormat.format(maxBase));

System.out.println ("Expected: 5 -23420 3641100 44");

numFormat = new BaseFormatter(20); // Base 20

System.out.println ("Base 20 : " + numFormat.format(small) + " " + numFormat.format(neg) + " " +

numFormat.format(large) + " " + numFormat.format(maxBase));

System.out.println ("Expected: 5 -1500 65000 1g");

numFormat = new BaseFormatter(36); // Base 36

System.out.println ("Base 36 : " + numFormat.format(small) + " " + numFormat.format(neg) + " " +

numFormat.format(large) + " " + numFormat.format(maxBase));

System.out.println ("Expected: 5 -7ps lfls 10");

}

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Put Your Data To Work 52 Tips And Techniques For Effectively Managing Your Database

Authors: Wes Trochlil

1st Edition

0880343079, 978-0880343077

More Books

Students also viewed these Databases questions