There is one programming question and five other questions.
Instructions for submitting your programming question solution are given in the Programming question section. You may submit as many times as you want; your most recent submission will be the one recorded.
Instructions for submitting your answers to the short answer questions are given in the Short Answer Questions section. You may submit as many times as you want; your most recent submission will be the one recorded.
Implement the Test5C class and provide the Javadoc comments needed to reproduce the API for the two required methods. You may omit the part of the comments that describe the examples (i.e., document the parameters, the return value (if any), and the method description excluding the examples).
Submit your program using the following command in a terminal (make sure you are in the directory containing your file Test5C.java):
submit 2030 test5C Test5C.java
package eecs2030.test5; import java.util.List; public class Test5C { private Test5C() { // prevent instantiation } /** * Returns the string equal to the string formed by * removing all of the 'a' and 'A' characters from the * argument string s. * * <p> * For example: * </p> * * <pre> * Test5C.removeA("") returns the empty string * Test5C.removeA("a") returns the empty string * Test5C.removeA("B") returns the string "B" * Test5C.removeA("ABA") returns the string "B" * Test5C.removeA("BananA") returns the string "Bnn" * Test5C.removeA("aaaaAAAaaA") returns the empty string. * </pre> * * * @param s a non-null string * @return the string equal to removing all of the lower * and uppercase a's from the argument string s */ public static String removeA(String s) { if (s.isEmpty()) { return s; } char first = s.charAt(0); if (first == 'a' || first == 'A') { return Test5C.removeA(s.substring(1)); } return first + Test5C.removeA(s.substring(1)); } /** * Computes the sum of the elements in the argument list * t starting from the first element and skipping every * second element. The sum of an empty list is zero. * * <p> * For example: * </p> * * <pre> * if t is [] then Test5C.sumSkip(t) returns 0 * if t is [1] then Test5C.sumSkip(t) returns 1 * if t is [-1, 2] then Test5C.sumSkip(t) returns -1 * if t is [1, 2, 8] then Test5C.sumSkip(t) returns 9 * if t is [1, 0, -9, 4] then Test5C.sumSkip(t) returns -8 * if t is [1, 2, 12, -3, 15] then Test5C.sumSkip(t) returns 28 * </pre> * * @param t a non-null list of integers * @return the sum of all of the elements of t having an * even index */ public static int sumSkip(List<Integer> t) { if (t.isEmpty()) { return 0; } else if (t.size() < 3) { return t.get(0); } int sum = t.get(0) + sumSkip(t.subList(2, t.size())); return sum; } }
/** * Removes all duplicated strings from a non-null and sorted list of strings * maintaining the sorted order of the strings. If the list contains unique * strings then the list remains unchanged. For example, if t is the list * ["a", "b", "c", "d"] then unique(t) would do nothing. If t is the list * ["w", "w", "w", "x", "y", "y", "z"] then unique(t) would modify t so that * it became the list ["w", "x", "y", "z"]. * * @param t * a non-null and sorted list of strings that the method modifies * so that it contains no duplicated strings (and the list remains in * sorted order). */ public static void unique(Listt) { if (t.size() < 2) { return; } String first = t.get(0); String second = t.get(1); if (first.equals(second)) { t.remove(0); Test5C.unique(t); } Test5C.unique(t.subList(1, t.size())); }
Enter your answers into a text file named answers.txt
.
You can use the editor of your choice for this. You can also create a
text file in Eclipse by selecting "New" and then "Untitled Text File" in
the "File" menu. Make sure that you save your file.
Also make sure that you indicate which question you are answering,
e.g. Q1: answer to question 1 Q2: answer to question 2 Q3:...
Submit your answers using the following command in a terminal (make sure you are in the directory containing your file answers.txt):
submit 2030 test5C answers.txt