Question: addCommasToDigitString method (22 points) Explain what is wrong with the given code. Describe the fault precisely by proposing a modification to the code. If possible,

  1. addCommasToDigitString method (22 points)

  1. Explain what is wrong with the given code. Describe the fault precisely by proposing a modification to the code.
  2. If possible, give a test case that does not execute the fault. If not, briefly explain why not.
  3. If possible, give a test case that executes the fault, but does not result in an error state. If not, briefly explain why not.
  4. If possible give a test case that results in an error, but not a failure. If not, briefly explain why not. Hint: Dont forget about the program counter.
  5. For the given test case below, describe the first error state. Be sure to describe the complete state. Hint: Dont forget about the program counter.
 digits = "1234"; Expected = "1,234";

  1. Implement your repair and verify that the given test now produces the expected output. Submit a screenshot demonstrating your new program works.

/** * Adds commas to long numbers at every third position starting from the right (e.g., "12345678" returns "12,345,678") * * @param digits string represents a number * @return a new string with a comma at every third position * @throws NullPointerException if digits is null */ private static String addCommasToDigitString(String digits) { StringBuilder result = new StringBuilder(); int nDigits = 0; for (int i = digits.length()-1; i >= 0; i--) { result.insert(0, digits.charAt(i)); nDigits++; if (((nDigits % 3) == 0) && (i > 1)) { result.insert(0, ","); } } return result.toString(); } // Test: digits = "1234"; Expected = "1,234";
 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!