Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Please do the TODO comments in Java. Will thumbs up public class Hamming extends Distance { public Hamming (String s1, String s2) { // TODO:
Please do the TODO comments in Java. Will thumbs up
public class Hamming extends Distance { public Hamming (String s1, String s2) { // TODO: Initialize the description field using the format shown in the // Tests class. // TODO: Calculate the Hamming distance between two Strings. If the // Strings have different lengths, add 1 for every extra character of // the longer String. Compare the Strings starting with the rightmost // character. Assign the result to the distance field. public Hamming(int x, int y){ // TODO: Convert x and y to binary. // TODO: Initialize the description field using the format shown in the // Tests class. // TODO: Calculate the Hamming distance between the binary // representations of x and y. Use the rules given above for bit // Strings of unequal length. public class Tests { public static void main(String[] args) { Distance emptyDist = new Distance(); String emptyDistans = "No argument: 0"; test(emptyDist, emptyDistans, "Distance()"); Distance intDist = new Distance(5); String intDistAns = "Number of 1s in binary 5 (101): 2"; test(intDist, intDistAns, "Distance(int)"); Distance strDist = new Distance ("Hi!"); String strDistAns = "Sum of chars in \"Hi!\": 210"; test (strDist, strDistAns, "Distance(String)"); // Note that a Euclidean object can be assigned to a Distance variable. Distance eucDist = new Euclidean(3, 0, 0, 4); String eucDistans - "Euclidean distance between (3, 0) and (0, 4): 5.0"; test(eucDist, eucDistAns, "Euclidean(int, int, int, int)"); // Note that a Hamming object can be assigned to a Distance variable. Distance strHammDist = new Hamming("cat", "sat"); String strHammDistAns = "Hamming distance between cat and sat: 1"; test(strHammDist, strHammDistans, "Hamming (String, String)"); Distance intHammDist = new Hamming (4, 5); String intHammDistAns = "Hamming distance between 100 and 101: 1"; test(intHammDist, intHammDistans, "Hamming(int, int)"); * A helper method for main that tests the toString output of a Distance * object. The method prints an error message if the output is incorrect. * @param obj a Distance object. * @param ans the correct toString output. * @param testName a description of the constructor used to create obj. public static void test(Distance obj, String ans, String testName) { if (!obj.toString().equals(ans)) { System.out.println("Incorrect " + testName); System.out.println("Expected: " + ans); System.out.println("Returned: " + obj.toString(); System.out.println(); public class Hamming extends Distance { public Hamming (String s1, String s2) { // TODO: Initialize the description field using the format shown in the // Tests class. // TODO: Calculate the Hamming distance between two Strings. If the // Strings have different lengths, add 1 for every extra character of // the longer String. Compare the Strings starting with the rightmost // character. Assign the result to the distance field. public Hamming(int x, int y){ // TODO: Convert x and y to binary. // TODO: Initialize the description field using the format shown in the // Tests class. // TODO: Calculate the Hamming distance between the binary // representations of x and y. Use the rules given above for bit // Strings of unequal length. public class Tests { public static void main(String[] args) { Distance emptyDist = new Distance(); String emptyDistans = "No argument: 0"; test(emptyDist, emptyDistans, "Distance()"); Distance intDist = new Distance(5); String intDistAns = "Number of 1s in binary 5 (101): 2"; test(intDist, intDistAns, "Distance(int)"); Distance strDist = new Distance ("Hi!"); String strDistAns = "Sum of chars in \"Hi!\": 210"; test (strDist, strDistAns, "Distance(String)"); // Note that a Euclidean object can be assigned to a Distance variable. Distance eucDist = new Euclidean(3, 0, 0, 4); String eucDistans - "Euclidean distance between (3, 0) and (0, 4): 5.0"; test(eucDist, eucDistAns, "Euclidean(int, int, int, int)"); // Note that a Hamming object can be assigned to a Distance variable. Distance strHammDist = new Hamming("cat", "sat"); String strHammDistAns = "Hamming distance between cat and sat: 1"; test(strHammDist, strHammDistans, "Hamming (String, String)"); Distance intHammDist = new Hamming (4, 5); String intHammDistAns = "Hamming distance between 100 and 101: 1"; test(intHammDist, intHammDistans, "Hamming(int, int)"); * A helper method for main that tests the toString output of a Distance * object. The method prints an error message if the output is incorrect. * @param obj a Distance object. * @param ans the correct toString output. * @param testName a description of the constructor used to create obj. public static void test(Distance obj, String ans, String testName) { if (!obj.toString().equals(ans)) { System.out.println("Incorrect " + testName); System.out.println("Expected: " + ans); System.out.println("Returned: " + obj.toString(); System.out.println()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