Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Hamming Class & hamming.txt provided below instructions! Hamming Class: import java.io.*; import java.util.*; // This program reads a text file, input.txt. // For each character,
Hamming Class & hamming.txt provided below instructions!
Hamming Class:
import java.io.*; import java.util.*; // This program reads a text file, input.txt. // For each character, it produces a hexadecimal number which is the hamming // code for 8-bit characters using even parity. These hex numbers are written to hamming.txt //class name as can be seen in main is Hamming public class Hamming { //character type letter private char letter; // The Ascii character with no parity bits //encode decode functions have 11 number as last index of array so array size is 12 private int[] bits = new int[12]; private int code; // The integer value of the character with the parity bits added public Hamming(char let) { letter = let; encode(); } public Hamming(int c) { code = c; decode(); } public int getCode() { return code; } public char getLetter() { return letter; } private void encode() { //encode character in 12 bits, internally char will be converted to int int value = letter; // Set value bits for (int i = 0; i = 0; i--) { code *= 2; code += bits[i]; } } private void decode() { int error = 0; int value = code; // Set the bit array //for loop to decode for (int i = 0; i = 0; i--) { //if statement to check the condition if (i != 0 && i != 1 && i != 3 && i != 7) { letter *= 2; letter += bits[i]; } } // Display where error detected //error variable in place of blank if (error != 0) System.out.println("Error in bit " + (error - 1) + " corrected in character " + letter); } public static void main(String[] args) throws FileNotFoundException { Scanner inFile = new Scanner( new File("hamming.txt")); PrintStream outFile = new PrintStream(new File("output.txt")); String line; //define code variable int code; System.out.println("File hamming.txt opened"); //while loop to iterate over the file while (inFile.hasNextInt(16)) { //get the 16 digits int code = inFile.nextInt(16); // Decode the Hex code to get a character // Create a Hamming object Hamming ham = new Hamming(code); // Display the decoded character //use the object to call the function outFile.print(ham.getLetter()); } //close the file inFile.close(); System.out.println("File output.txt closed"); } }
hamming.txt:
49D 4FC 51C 49D 282 31A 329 31A 32E 282 4C8 606 667 667 64D 679 635 282 61F 67E 62B 62C 282 64D 679 780 7AD 7AA 282 632 64D 660 62C 2FA 52Attached 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 2. You can use Eclipse to write, compile and test your program, but you may also use any 3. The program will use the provided Hamming class. It will implement the decode enough to do this assignment, by looking at the provided program other development environment you like. Only the .java file will be submitted. 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 hasNextlnt(16) and nextlnt (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. 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 2. You can use Eclipse to write, compile and test your program, but you may also use any 3. The program will use the provided Hamming class. It will implement the decode enough to do this assignment, by looking at the provided program other development environment you like. Only the .java file will be submitted. 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 hasNextlnt(16) and nextlnt (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
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started