Introduction This lab uses things you learned in your introductory programming c

We are team of experts dealing with assignment help.

Introduction This lab uses things you learned in your introductory programming c

Place your order now for a similar assignment and have exceptional work written by our team of experts, At affordable rates

For This or a Similar Paper Click To Order Now

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’ve included a GUI to visualize your QR code! Get it from the Program 12 Assignment on Canvas.
Specifications
You will create a class QRCode 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 elementsQRCode class methods are instance methods.
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.
The dimension for the grid and the seed for the Random object must be passed in from the command line.
If two arguments are not passed in from the command line, your program should use constants defined below:DEFAULT_DIMENSION 30
DEFAULT_SEED 160
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.
Only the print methods may have output to the console.
Class members must conform to the UML diagram below:
================ 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
– fillSquare(startX : int, startY : int, width : int, color: int) : void // possible helper method
+ addFinders(dimension : int) : void
+ print() : void
+ print(pattern : int[] ) : void
+ print(matrix : int[][]) : void
Method specificationscreatePattern returns a new one-dimensional array the size of dim squared. The array should be filled with random 0’s and 1’s which are generated by a java.util.Random object constructed with the given seed.
setGrid takes in the dimension dim and instantiates a two-dimensional array size of dim by dim. The grid is then filled row by row from the pattern provided by the one-dimensional pattern passed in.
getGrid returns a representation of the grid member.
addFinders calls setFinder for each of the three finders (upper left, upper right, lower left) positions
setFinder calls fillSquare for each border/box which will overwrite the existing grid with the Finder pattern described here, placing a finder in each of the upper left, upper right, and lower left corners of the grid. If a grid is null, it returns null. The upper left corner of a Finder pattern is given by the parameters xPos and yPos which are the column and row, respectively, in the class member grid.
– The output border is two pixels in width. All values are set to 1 (WHITE in the GUI).
– The next inner border is two pixels in width. All values are set to 0 (BLACK in the GUI).
– The next inner border is two pixels in width. All values are set to 2 (WHITE in the GUI).
– The innermost box is 3×3 pixels. All values are set to 3 (BLACK in the GUI).
fillSquare sets the specified color of a square given the dimension (length) and starting coordinates of the upper left corner of the square area. The border width is passed in but not used (oops!).
print outputs the class member grid as a two-dimensional grid with no spaces between values in a row
print(pattern) outputs the one-dimensional pattern passed a a parameter as a two-dimensional grid with no spaces between values in a row
print(matrix) outputs the two-dimensional matrix passed as a parameter row by row with no spaces between values in a row

Place your order now for a similar assignment and have exceptional work written by our team of experts, At affordable rates

For This or a Similar Paper Click To Order Now

Leave a Reply

Your email address will not be published. Required fields are marked *