In: Computer Science
For this Lab you have to implement a class Builder. Your Builder class should have instance variable name. , Supply a constructor method for your Builder class and the following methods: getName(), makeRow(int n, String s), printPyramid(int n, String s).
Examining the problem, we need to create a Builder class, declare Builder class as follows
public class Builder { }
Inside the Builder class, declare a String variable called name.
Step 3: Defining the constructors:
Remember that the purpose of a constructor is to assign valid values to all the data members.
public Builder (String name) { // write the segment of code // that assigns the parameter value to the private instance variable }
Step4: Supply the methods
Implement the getName method:
Hint: getter methods often simply return the desired value, which is usually stored in a private instance variable.
public String getName() { // write a line of code that returns the name }
Implement a makeRow method.
Given an integer n and string s, the makeRow method returns an other String that has n copies of s in a row. For eaxmple makeRow(5, "abc") should return "abcabcabcabcabc".
public String makeRow(int n, String s) { // Given an int n and string s, // return a string that represents n copies of s in one row. //Example: n = 5, s = “*”, return a string “*****” }
Write a method called printPyramid that given an odd integer n and a string s, prints (not returns) a pyramidal shape made out of that string s. The top of the pyramid has a single copy of s, and each successive row has two additional copies of s. The last row contains n copies of s. For example, calling printPyramid(7, "*"); prints the following lines:
* *** ***** *******
public void printPyramid(int n, String s) { // Make use of makeRow method and System.out.println // to print the pyramid. // note this method does not return anything. }
Step 5: Calling the constructor of Builder class from the “main” method.
In your Lab7.java file, you will instantiate and use a Builder class object.
import java.util.Scanner; public class Lab7 { public static void main(String[] args) { //declare variables where you will store inputs from user --> // declare a Scanner object --> // prompt the user for input string name --> // store the input in the declared variables --> // declare a variable of type Builder named myBuilder // and instantiate a brand-new builder object // with the name given by the user above --> } }
Hint: Do not forget to import the Scanner package at the very top of your program.
Step 6: Calling Builder class methods and display the output
Now (also in the main method) we will call the methods in the Builder class to display the required outputs.
// call the getName() method to get the name of the builder. --> // Ask for integer n from user using Scanner class System.out.println("Enter a positive integer:"); // Using your builder's makeRow method print a string below, // Example: =====*****===== with n = 5; --> // Ask for odd integer t from user using Scanner class System.out.println("Enter a positive odd integer :"); // Call the Builder method printPyramid, passing t and "*" as the arguments // to print pyramid with “*” as a string. -->
Step 7: Sample Output
Below is an example of what your output should roughly look like when this lab is completed. All text in bold redrepresents user input.
First run:
Name of the builder: Alex The name of builder is :Alex Enter a positive integer :5 =====*****===== Enter a positive odd integer :7 * *** ***** *******
Second run:
Name of the builder: Bob The name of builder is :Bob Enter a positive integer :3 ===***=== Enter a positive odd integer :11 * *** ***** ******* ********* ***********
Thanks for the question. Below is the code you will be needing. Let me know if you have any doubts or if you need anything to change. If you are satisfied with the solution, please rate the answer. Let me know for any help with any other questions. Thank You ! =========================================================================== public class Builder { private String name; public Builder(String name) { this.name = name; } public String getName() { return name; } public String makeRow(int n, String s) { String row = ""; for (int i = 1; i <= n; i++) row += s; return row; } public void printPyramid(int n, String s) { for (int row = 1; row <= n; row++) { System.out.println(makeRow(n - row, " ") + makeRow(2 * row - 1, s)); } } }
=============================================================
import java.util.Scanner; public class Lab7 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Enter builder name: "); String name = scanner.nextLine(); Builder myBuilder = new Builder(name); System.out.println("The name of builder is : "+myBuilder.getName()); System.out.print("Enter a positive integer:"); int n = scanner.nextInt(); System.out.println(); String row = myBuilder.makeRow(n,"=")+myBuilder.makeRow(n,"*")+ myBuilder.makeRow(n,"="); System.out.println(row); System.out.println(); System.out.print("Enter a positive odd integer :"); System.out.println(); int oddNumber = scanner.nextInt(); myBuilder.printPyramid(oddNumber,"*"); } }
=============================================================