Introduction This lab uses things you learned in your introductory programming class. Some of those things are: - constants - random numbers - overloaded methods - passing/returning arrays - filling and printing a one-dimensional array - filling and printing a two-dimensional array Just for fun, we'll include a GUI to visualize your
QR
code! Specifications You will create a class
QRC
code that fills a grid with values that can be interpreted to visualize a QRCode image. (This is not a true QRCode but a pattern similar to one.) Required elements 1. QRCode class methods are instance methods. 2. Your program will contain a main method that creates an instance of QRCode and calls its methods such that the result output is a grid dim
x
dim with Finder values in the upper left, lower left, and upper right corners. 3. The dimension for the grid and the seed for the Random object must be passed in from the command line. 4. If two arguments are not passed in from the command line, your program should use constants defined below: - DEFAULT_DIMENSION 30 - DEFAULT_SEED 160 5. Methods that return a value must pass unit tests that will not be made available for view, that is, those methods should be thoroughly tested by you prior to submitting your program. 6. Only the print methods may have output to the console. 7. Class members must conform to the UML diagram below: Q=============== Class Name ================ QRCode ============ Private Variables ============ - grid : int[] [] ============ Public methods ============== + createPattern(dim : int, seed : int) : int[] + setGrid(dim : int, pattern : int []) : void + getGrid() : int[][] + setFinder(xpos : int, yPos : int) : void + addFinders(dimension : int) : void - fillSquare(startX : int, startY : int, width : int, color: int) : void // possible helper method + print() : void + print (pattern : int [] ) : void + print(matrix : int[][]) : void Method specifications You will create an outline called a stub program where the method headers are the only implemented part of the class and all methods only return default values. In a later lab, you will complete the class to have full functionality. You can get all the information you need from the UML outline above. Testing Things to test for are the correct number/type of arguments, and the return values (void or null). Grading Your code will be evaluated for correctness of being able to call each function and the default return value (if any) will be checked. Upload your files below by dragging and dropping into the area or choosing a file on your hard drive. Coding trail of your work History of your effort will appear here once you begin working on this zyLab.