diff --git a/src/Main.java b/src/Main.java index 0282a9d..6004f97 100644 --- a/src/Main.java +++ b/src/Main.java @@ -59,14 +59,48 @@ public static void main(String[] args) { System.out.println("size: " + size); // call your method here - + int newSize = urlify(buffer, size); // check the "after" buffer contents via println + System.out.println(Arrays.toString(buffer)); // check to see if the new buffer's size is correct - + System.out.println("size: " + newSize); } // write your method here + // method will modify buffer directly + // method will return the new size + public static int urlify(char[] buffer, int size){ + + //count up the number of spaces + int numOfSpaces = 0; + for (int i = 0; i < size; i++) { + if (buffer[i] == ' '){ + numOfSpaces++; + } + } + + int newSize = size + (2 * numOfSpaces); + + + //modify the buffer, starting from the back + for (int i = size - 1; i >=0; i--) { + if (buffer[i] == ' '){ + // buffer[7] = buffer[8] + //buffer[i-1] = buffer[i]; + buffer[newSize-1] = '0'; + buffer[newSize-2] = '2'; + buffer[newSize-3] = '%'; + newSize = newSize-3; + }else{//whitespace not found + buffer[newSize-1] = buffer[i]; + newSize--; + } + } + newSize = size + (2 * numOfSpaces); + return newSize; + } + -} \ No newline at end of file +}