Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please do this in Java. You only need to do what each TODO section says. I also attached the tests file for the first TODO

Please do this in Java. You only need to do what each TODO section says. I also attached the tests file for the first TODO format. Will thumbs up! (the Hamming distance between two strings of equal length is the number of positions at which the corresponding symbols are different. In other words, it measures the minimum number of substitutions required to change one string into the other, or the minimum number of errors that could have transformed one string into the other)

image text in transcribed

image text in transcribed

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

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

Databases Illuminated

Authors: Catherine M. Ricardo

1st Edition

0763733148, 978-0763733148

More Books

Students also viewed these Databases questions