Question: I have four java source files: 1. KinderKit.java 2. Triangle.java 3. Rectangle.java 4. DrawingCanvas.Java Below is the code for all four files: 1. KinderKit.java import
I have four java source files: 1. KinderKit.java 2. Triangle.java 3. Rectangle.java 4. DrawingCanvas.Java
Below is the code for all four files:
1. KinderKit.java
import java.util.Scanner;
/** * COMP90041, Sem1, 2023: Assignment 1 * @author: Advait Patwardhan */ public class KinderKit { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); DrawingCanvas canvas = new DrawingCanvas(Integer.parseInt(args[0]), Integer.parseInt(args[1]), args[2].charAt(0)); System.out.println("----DIGITAL KINDER KIT: LET'S PLAY & LEARN----"); System.out.println("Current drawing canvas settings:"); System.out.println("- Width: " + canvas.getWidth()); System.out.println("- Height: " + canvas.getHeight()); System.out.println("- Background character: " + canvas.getBackground());
while (true) { System.out.println("Please select an option. Type 4 to exit."); System.out.println("1. Draw triangles"); System.out.println("2. Draw rectangles"); System.out.println("3. Update drawing canvas settings"); System.out.println("4. Exit");
int option = scanner.nextInt(); switch (option) { case 1: System.out.println("Enter the height of the isosceles triangle:"); int height = scanner.nextInt(); Triangle triangle = new Triangle(height); canvas.drawTriangle(triangle); break; case 2: System.out.println("Enter the width of the rectangle:"); int width = scanner.nextInt(); System.out.println("Enter the height of the rectangle:"); height = scanner.nextInt(); Rectangle rectangle = new Rectangle(width, height, 'r'); canvas.drawRectangle(rectangle); break; case 3: System.out.println("Enter the width of the drawing canvas:"); int canvasWidth = scanner.nextInt(); System.out.println("Enter the height of the drawing canvas:"); int canvasHeight = scanner.nextInt(); System.out.println("Enter the background character:"); char background = scanner.next().charAt(0); canvas = new DrawingCanvas(canvasWidth, canvasHeight, background); System.out.println("Drawing canvas settings updated."); System.out.println("- Width: " + canvas.getWidth()); System.out.println("- Height: " + canvas.getHeight()); System.out.println("- Background character: " + canvas.getBackground()); break; case 4: System.out.println("Thanks for using Digital Kinder Kit!"); System.exit(0); default: System.out.println("Unsupported option. Please try again!"); break; } } } }
2. Triangle.java
import java.util.Scanner;
public class Triangle { private int size; private char fillChar;
// constructor public Triangle(int size) { this.size = size; this.fillChar = fillChar; }
// getters and setters public int getSize() { return size; }
public void setSize(int size) { this.size = size; }
public char getFillChar() { return fillChar; }
public void setFillChar(char fillChar) { this.fillChar = fillChar; }
// method to draw the triangle public char[][] draw() { char[][] canvas = new char[size][2 * size - 1]; for (int i = 0; i < size; i++) { for (int j = size - i - 1; j < size + i; j++) { canvas[i][j] = fillChar; } } return canvas; } }
3. Rectangle.java
import java.util.Scanner;
public class Rectangle { private int width; private int height; private char fillChar;
// constructor public Rectangle(int width, int height, char fillChar) { this.width = width; this.height = height; this.fillChar = fillChar; }
// getters and setters public int getWidth() { return width; }
public void setWidth(int width) { this.width = width; }
public int getHeight() { return height; }
public void setHeight(int height) { this.height = height; }
public char getFillChar() { return fillChar; }
public void setFillChar(char fillChar) { this.fillChar = fillChar; }
// method to draw the rectangle public char[][] draw() { char[][] canvas = new char[height][width]; for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { canvas[i][j] = fillChar; } } return canvas; } }
4. DrawingCanvas.java
import java.util.Scanner;
public class DrawingCanvas { private int width; private int height; private char background;
// constructor public DrawingCanvas(int width, int height, char background) { this.width = width; this.height = height; this.background = background; }
// getters and setters public int getWidth() { return width; }
public void setWidth(int width) { this.width = width; }
public int getHeight() { return height; }
public void setHeight(int height) { this.height = height; }
public char getBackground() { return background; }
public void setBackground(char background) { this.background = background; }
// method to clear the canvas public void clearCanvas() { for (int i = 0; i < height; i++) { for (int j = 0; j < width; j++) { System.out.print(background); } System.out.println(); } } }
Please help me fix these 2 errors:
KinderKit.java:30: error: cannot find symbol canvas.drawTriangle(triangle); ^ symbol: method drawTriangle(Triangle) location: variable canvas of type DrawingCanvas
KinderKit.java:38: error: cannot find symbol canvas.drawRectangle(rectangle); ^ symbol: method drawRectangle(Rectangle) location: variable canvas of type DrawingCanvas 2 errors
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
