Click here to download the IntelliJ project for this exercise. Alternatively, you can find all the exercices on this git repository
This exercise is already available in your IntelliJ as a project.
What you need to do is described in the comments at the top of the file in src/main/java/
.
package basics; import java.util.Arrays; /** * Make sure that the equal method consider * two QR codes as identical if they have been flipped * by 0,1,2 or 3 quarter rotations * * For instance the two following matrices should be * considered equals if you flip your head by 180 degrees * * boolean [][] t0 = new boolean[][] { * {false,true,false,false}, * {false,false,true,true}, * {true,false,false,true}, * {true,true,false,true} * }; * * // t2 is a version of t2 with two quarter rotations * boolean [][] t2 = new boolean[][] { * {true,false,true,true}, * {true,false,false,true}, * {true,true,false,false}, * {false,false,true,false} * }; */ public class QRcode { protected boolean [][] data; /** * Create a QR code object * @param data is a n x n square matrix */ public QRcode(boolean [][] data) { this.data = data; } /** * Return true if the other matrix is identical up to * 0, 1, 2 or 3 number of rotations * @param o the other matrix to compare to * @return */ @Override public boolean equals(Object o) { // TODO return false; } }
- Instruction provided at the top of the source file on IntelliJ.
- Debug using small and easy unit tests provided in junit tests, it can also help to clarify the instructions.