Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please do the TODO comments for the Distance class in Java. Will thumbs up. public class Distance { protected String description; protected String distance; public

Please do the TODO comments for the Distance class in Java. Will thumbs up.

image text in transcribed

image text in transcribedimage text in transcribed

image text in transcribed

public class Distance { protected String description; protected String distance; public Distance() { // TODO: Initialize the fields using the format shown in the Tests // class. public Distance(int x) { // TODO: Convert x to binary. See the Integer class documentation. String bits = ""; description = "Number of 1s in binary " + x + " (" + bits + ")"; // TODO: Calculate the number of 1s in the binary representation of x, // and assign the result to the distance field. public Distance(String s) { description = "Sum of chars in "" + S + " ""; // TODO: Calculate the sum of the ASCII codes of the characters in the // given String. Assign the sum to the distance field. @Override public String toString() { return description + ":" + distance; // TODO: Add Javadoc comments to the class and all methods and fields. public class Euclidean extends Distance { public Euclidean(int x1, int yl, int x2, int y2) { // TODO: Initialize the description field using the format shown in the // Tests class. // TODO: Calculate the Euclidean distance of the two points and assign // it to the distance field. 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 Distance { protected String description; protected String distance; public Distance() { // TODO: Initialize the fields using the format shown in the Tests // class. public Distance(int x) { // TODO: Convert x to binary. See the Integer class documentation. String bits = ""; description = "Number of 1s in binary " + x + " (" + bits + ")"; // TODO: Calculate the number of 1s in the binary representation of x, // and assign the result to the distance field. public Distance(String s) { description = "Sum of chars in "" + S + " ""; // TODO: Calculate the sum of the ASCII codes of the characters in the // given String. Assign the sum to the distance field. @Override public String toString() { return description + ":" + distance; // TODO: Add Javadoc comments to the class and all methods and fields. public class Euclidean extends Distance { public Euclidean(int x1, int yl, int x2, int y2) { // TODO: Initialize the description field using the format shown in the // Tests class. // TODO: Calculate the Euclidean distance of the two points and assign // it to the distance field. 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

Graph Database Modeling With Neo4j

Authors: Ajit Singh

2nd Edition

B0BDWT2XLR, 979-8351798783

More Books

Students also viewed these Databases questions