Question: app A package ( folder ) where you will place your implementation for the DrawingApp project . Make sure you fix any problems associated with

app A package (folder) where you will place your implementation for theDrawingAppproject. Make sure you fix any problems associated with the DrawingApp project. Notice that just because you got a 100 in the DrawingApp project, it does not mean it is bug-free. The secret and release tests for this project could find some of these bugs. If you failed some secret/release tests, a TA, during office hours, could provide information about the tests. You can resubmit your code and see release/secret tests results in the submit server for the Drawing App project.
gui A package (folder) providing code that supports the graphical display and animation of a diagram. You will use the methods provided by the GraphicalUtilities.java class. Do not modify anything in this package.
system A package (folder) where you will implement the classes associated with this project. Sample Driver
The following driver (and associated output) illustrates the functionality of some of the methods you need to implement.
public class DriverExample { public static void main(String[] args){ char[][] array1={{'A','B'},{'C','D'},{'E','F'}}; String answer = "Original:
"; answer += getTwoDimArrayString(array1); answer +="
After one top rotation:
"; TwoDimArrayUtil.rotateTopOneRow(array1); answer += getTwoDimArrayString(array1); answer +="
After two top rotations:
"; TwoDimArrayUtil.rotateTopOneRow(array1); answer += getTwoDimArrayString(array1); answer +="
After left rotation:
"; TwoDimArrayUtil.rotateLeftOneColumn(array1); answer += getTwoDimArrayString(array1); char[][] array2={{'G','H'},{'I','J'},{'K','L'}}; char[][] array3={{'M','N'},{'O','P'},{'Q','R'}}; answer +="
After left right append:
"; answer += getTwoDimArrayString(TwoDimArrayUtil.appendLeftRight(array2, array3)); answer +="
After top bottom append:
"; answer += getTwoDimArrayString(TwoDimArrayUtil.appendTopBottom(array2, array3)); answer +="
Animation of horizontal bars:"; int maxRows =6, maxCols =6, bars =3, animationType =1; char color1='R', color2='G', color3='B'; HorizontalBars horizontalBars = new HorizontalBars(maxRows, maxCols, bars, color1, color2, color3, animationType); answer +="
Original:
"; answer += getTwoDimArrayString(horizontalBars.getBoard()); for (int i =1; i <=3; i++){ answer +="
Animation Step: "+ i +"
"; char[][] nextAnimationStep = horizontalBars.nextAnimationStep(); answer += getTwoDimArrayString(nextAnimationStep); } System.out.println(answer); } private static String getTwoDimArrayString(char[][] array){ if (array == null){ throw new IllegalArgumentException("Invalid parameter getTwoDimArrayString()"); } String answer =""; for (int row =0; row < array.length -1; row++){ answer += Arrays.toString(array[row])+"
"; } answer += Arrays.toString(array[array.length -1]); return answer; }}
Output
Original: [A, B][C, D][E, F] After one top rotation: [C, D][E, F][A, B] After two top rotations: [E, F][A, B][C, D] After left rotation: [F, E][B, A][D, C] After left right append: [G, H, M, N][I, J, O, P][K, L, Q, R] After top bottom append: [G, H][I, J][K, L][M, N][O, P][Q, R] Animation of horizontal bars: Original: [R, R, R, R, R, R][R, R, R, R, R, R][G, G, G, G, G, G][G, G, G, G, G, G][B, B, B, B, B, B][B, B, B, B, B, B] Animation Step: 1[R, R, R, R, R, R][G, G, G, G, G, G][G, G, G, G, G, G][B, B, B, B, B, B][B, B, B, B, B, B][R, R, R, R, R, R] Animation Step: 2[G, G, G, G, G, G][G, G, G, G, G, G][B, B, B, B, B, B][B, B, B, B, B, B][R, R, R, R, R, R][R, R, R, R, R, R] Animation Step: 3[G, G, G, G, G, G][B, B, B, B, B, B][B, B, B, B, B, B][R, R, R, R, R, R][R, R, R, R, R, R][G, G, G, G, G, G]

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 Programming Questions!