Assignment Purpose:

This program requires knowledge of manipulation of Java String objects and methods. It also requires knowledge of Number System Conversions.

// Lab16MATH05st.java

// The Number System Converter

// This is the student, starting version of the Lab16MATH05 assignment.

import java.util.Scanner;

public class Lab16MATH05st

{

public static void main (String args[])

{

System.out.println("Lab16MATH05 - Number Conversion Program\n\n");

// The next 2 lines are used in all versions.

System.out.println("ABCD1234 Base-16 converts to " + BaseConverter.fromHexToBin("ABCD1234") + " in Base-2.\n");

System.out.println("E12B47F5 Base-16 converts to " + BaseConverter.fromHexToBin("E12B47F5") + " in Base-2.\n");

// The next 2 lines are used in the 90-point versions and above.

// System.out.println("1011111011101111 Base-2 converts to " + BaseConverter.fromBinToDec("1011111011101111") + " in Base-10.\n");

// System.out.println("11100100100110110 Base-2 converts to " + BaseConverter.fromBinToDec("11100100100110110") + " in Base-10.\n");

// The next line is used in the 95-point versions and above.

// System.out.println("1011111011101111 Base-2 converts to " + BaseConverter.fromBinToHex("1011111011101111") + " in Base-16.\n");

// The next line is used in the 100-point versions and above.

// System.out.println("11100100100110110 Base-2 converts to " + BaseConverter.fromBinToHex("11100100100110110") + " in Base-16.\n");

// The next 3 lines are used in the 105 and 110-point versions.

// System.out.println("1000 Base-10 converts to " + BaseConverter.fromDecToAny(1000,5) + " in Base-5.\n");

// System.out.println("1000 Base-10 converts to " + BaseConverter.fromDecToAny(1000,8) + " in Base-8.\n");

// System.out.println("200 Base-10 converts to " + BaseConverter.fromDecToAny(200,2) + " in Base-2.\n");

// This last line is only used in the 110 point version.

// System.out.println("48879 Base-10 converts to " + BaseConverter.fromDecToAny(48879,16) + " in Base-16.\n");

}

}

class BaseConverter

{

public static String fromHexToBin(String hexNum)

{

String binNum = "";

return binNum;

}

public static int fromBinToDec(String binNum)

{

int decNum = 0;

return decNum;

}

public static String fromBinToHex(String binNum)

{

String hexNum = "";

return hexNum;

}

public static String fromDecToAny(int decNum, int desiredBase)

{

String newNum = "";

return newNum;

}

}

90-Point Version Specifics

The 90-point version requires that you write both the fromHexToBin and fromBinToDec methods.

90-Point Version Output

95-Point Version Specifics

The 95-point version requires everything from the 90-point version and adds the fromBinToHex method. For this version, you may assume that the binary number will have a multiple of 4 bits.

95-Point Version Output

100-Point Version Specifics

The 100-point version requires the same methods as the 95-point version; however, the fromBinToHex method needs to be improved so it can convert regardless of the number of bits.

100-Point Version Output

105-Point Version Specifics

The 105-point version requires everything from the 100-point version and adds the fromDecToAny method. For this version, the method needs to be able to convert from decimal to any base between 2 and 10. Base 16 is not required for this version.

105-Point Version Output

110-Point Version Specifics

The 110-point version requires the same methods as the 105-point version; however, the fromDecToAny method needs to be improved so it can also convert to base-16.

Attachment 4528