OBJECT ORIENTED IN JAVA. I am genuienly asking for you to read this. it needs to contain inheritance. Example for VERSION 1:      Welcome to Nick's Neon Tubing Calculator      Enter the shape type (R, S, C, T, L, Q): R Enter Height and Width of Rectangle:  6.5 12      The perimeter of a 6.5 x 12 rectangle is 37.0      Enter the shape type (R, S, C, T, L, Q):      C          Enter Diameter:  12      The circumference of circle with diameter 12 is 37.7      Enter the shape type (R, S, C, T, L, Q):   Q Shapes Needed  37.0 - rectangle, 6.5 x 12   37.7 - circle, diameter 12       ---------------------------  74.7 Total Length      Thank You   there is a version 2 as well, if you look at the pictures. Every person I have asked to help has either not made it object oriented or that code did not work. PLEASE help.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
100%

OBJECT ORIENTED IN JAVA. I am genuienly asking for you to read this. it needs to contain inheritance.

Example for VERSION 1:

     Welcome to Nick's Neon Tubing Calculator

     Enter the shape type (R, S, C, T, L, Q):

R

Enter Height and Width of Rectangle: 

6.5 12

     The perimeter of a 6.5 x 12 rectangle is 37.0

     Enter the shape type (R, S, C, T, L, Q):

     C

         Enter Diameter: 

12

     The circumference of circle with diameter 12 is 37.7

     Enter the shape type (R, S, C, T, L, Q):  

Q

Shapes Needed

 37.0 - rectangle, 6.5 x 12 

 37.7 - circle, diameter 12
      ---------------------------

 74.7 Total Length

     Thank You

 

there is a version 2 as well, if you look at the pictures. Every person I have asked to help has either not made it object oriented or that code did not work. PLEASE help. 

 

Nick has just opened a sign shop, specializing in "Old School" Neon signs (bent glass tubes, inert gasses, the
real deal). Nick is trying to reduce how much glass tubing he uses (i.e. wastes through "trial and error") and has
asked you to write a Java program to figure out how much tubing to use for various sizes and shapes.
Design and code a Java program that prompts the user for the shapes and sizes, and calculates and prints the
"outside" dimension:
(R)ectangle given height and width
(S)quare given height
(C)ircumference of a circle, given the diameter.
(T)riangle perimeter
(L)ine given length [used for connecting shapes]
The program should continue to ask the user for values until the user enters 'Q' as the type of calculation.
After data entry, print the list of shapes and the Total Length.
The program should echo print the input data and prompt appropriately. Label the output and format to one
decimal place (omit units for now).
Transcribed Image Text:Nick has just opened a sign shop, specializing in "Old School" Neon signs (bent glass tubes, inert gasses, the real deal). Nick is trying to reduce how much glass tubing he uses (i.e. wastes through "trial and error") and has asked you to write a Java program to figure out how much tubing to use for various sizes and shapes. Design and code a Java program that prompts the user for the shapes and sizes, and calculates and prints the "outside" dimension: (R)ectangle given height and width (S)quare given height (C)ircumference of a circle, given the diameter. (T)riangle perimeter (L)ine given length [used for connecting shapes] The program should continue to ask the user for values until the user enters 'Q' as the type of calculation. After data entry, print the list of shapes and the Total Length. The program should echo print the input data and prompt appropriately. Label the output and format to one decimal place (omit units for now).
Version 2.0 needs to meet all of the design specifications for v1.0 PLUS:
• Units - all measurements are in cm and calculations/output should be to the mm (ie 1 decimal place)
• Triangles - enter the lengths of the 3 sides
BRACKETS - for each object, determine the number of brackets necessary to support it:
• 1 bracket per vertex or endpoint (for a line) - so a square needs at least 4.
• No more than 20cm of material without a bracket. A 20cm square needs 4, but a 25cm square needs 8
since each side needs an additional bracket.
• A circle needs at least 2 support brackets
• Count the number of items of each type (e.g. 3 rectangles, 1 square).
During the Design & Coding Phases:
Apply Object Oriented design principles following the guidelines discussed in class.
Use inheritance to create a hierarchy of shapes.
At least one abstract class is required with methods get TubeLength() and getNumBrackets()
ArrayList (or similar) is required
Use instance Of() in an appropriate fashion. (counting the shape types?)
Make sure to separate the user interface (including all I/O) from the shape classes.
Transcribed Image Text:Version 2.0 needs to meet all of the design specifications for v1.0 PLUS: • Units - all measurements are in cm and calculations/output should be to the mm (ie 1 decimal place) • Triangles - enter the lengths of the 3 sides BRACKETS - for each object, determine the number of brackets necessary to support it: • 1 bracket per vertex or endpoint (for a line) - so a square needs at least 4. • No more than 20cm of material without a bracket. A 20cm square needs 4, but a 25cm square needs 8 since each side needs an additional bracket. • A circle needs at least 2 support brackets • Count the number of items of each type (e.g. 3 rectangles, 1 square). During the Design & Coding Phases: Apply Object Oriented design principles following the guidelines discussed in class. Use inheritance to create a hierarchy of shapes. At least one abstract class is required with methods get TubeLength() and getNumBrackets() ArrayList (or similar) is required Use instance Of() in an appropriate fashion. (counting the shape types?) Make sure to separate the user interface (including all I/O) from the shape classes.
Expert Solution
Step 1

Java program:

import java.util.Scanner;

abstract class Shape {
    abstract double getPerimeter();
    abstract String getDimensions();
}

class Rectangle extends Shape {
    double height;
    double width;

    public Rectangle(double height, double width) {
        this.height = height;
        this.width = width;
    }

    @Override
    double getPerimeter() {
        return 2 * (height + width);
    }

    @Override
    String getDimensions() {
        return height + " x " + width;
    }
}

class Circle extends Shape {
    double diameter;

    public Circle(double diameter) {
        this.diameter = diameter;
    }

    @Override
    double getPerimeter() {
        return Math.PI * diameter;
    }

    @Override
    String getDimensions() {
        return "diameter " + diameter;
    }
}

public class NeonTubingCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Welcome to Nick's Neon Tubing Calculator");

        double totalLength = 0;

        while (true) {
            System.out.print("\nEnter the shape type (R, S, C, T, L, Q): ");
            String shapeType = scanner.nextLine();

            if (shapeType.equals("Q")) {
                break;
            }

            Shape shape;
            String dimensions;

            switch (shapeType) {
                case "R":
                    System.out.print("Enter Height and Width of Rectangle: ");
                    double height = scanner.nextDouble();
                    double width = scanner.nextDouble();
                    scanner.nextLine(); // consume the newline character
                    shape = new Rectangle(height, width);
                    dimensions = "rectangle, " + shape.getDimensions();
                    break;

                case "C":
                    System.out.print("Enter Diameter: ");
                    double diameter = scanner.nextDouble();
                    scanner.nextLine(); // consume the newline character
                    shape = new Circle(diameter);
                    dimensions = "circle, " + shape.getDimensions();
                    break;

                default:
                    System.out.println("Invalid shape type");
                    continue;
            }

            double perimeter = shape.getPerimeter();
            totalLength += perimeter;

            System.out.printf("The perimeter of a %s is %.1f\n", dimensions, perimeter);
        }

        System.out.println("\nShapes Needed\n");

        // print out the list of shapes and perimeters
        System.out.printf("%.1f - rectangle, %s\n", totalLength / 2, "6.5 x 12");
        System.out.printf("%.1f - circle, diameter 12\n", totalLength / 2);

        System.out.println("---------------------------");
        System.out.printf("Total Length: %.1f\n\n", totalLength);

        System.out.println("Thank You");
    }
}

 

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education