COSC 2425 Lab #2 Hamming Code

    

Attached to this assignment is a Java program that converts a text file to a list of hexadecimal numbers. Each of those hexidecimal numbers represents the bit pattern of a character from the file with the parity bits (even parity) for a hamming code inserted. Each text character takes 8 bits and the hamming code adds 4 bits. This hamming code provides single-bit error correction. 

Requirements 

  1. The program must be written in Java. If you have not used Java before, you can learn it enough to do this assignment, by looking at the provided program.
     
  2. You can use Eclipse to write, compile and test your program, but you may also use any other development environment you like. Only the .java file will be submitted.
     
  3. The program will use the provided Hamming class. It will implement the decode function. The decode function is the reverse of the encode function, but it also performs single bit correction when necessary.
     
  4. Display a message to the console when an error is corrected, as in the example below.
     
  5. The main function must be rewritten to read hexidecimal numbers from hamming.txt
    file and write decoded and corrected text to output.txt.
     
  6. Test the program with different input files. The instructor will test it with a hamming.txt
    file different from the one provided.
     

Hint: The Java hasNextInt(16) and nextInt(16) input functions are helpful in reading hexadecimal numbers from a file. 

Upload: Your Java (.java) file. 

Sample Output 

File hamming.txt opened
Error in bit 9 corrected in character 2 Error in bit 3 corrected in character c Error in bit 10 corrected in character p File output.txt closed 

Note: In addition to the output shown above, the output of this program includes the decoded text written to output.txt.