Question: Prerequisites: JDK, maven, git and Intellij installation and : For all projects in this course you will need a set of tools as follow: Download

Prerequisites:

JDK, maven, git and Intellij installation and :

For all projects in this course you will need a set of tools as follow:

Download and install JDK 10 on your system

Download Mavan and click here for installation guide

a. Here is a good resource on getting started with maven

Download and install gitbash

Apply for intellij Academic license , then download the ultimate version and install

Here is some tutorial on using Intellij

https://www.youtube.com/watch?v=GSKERVTMWqs

https://www.jetbrains.com/idea/documentation/

You may use Eclipse or Netbeans, but Intellij is highly recommended.

For additional help, visit https://sp18.datastructur.es/materials/lab/lab1setup/lab1setup https://sp18.datastructur.es/materials/lab/lab1/lab1

Project Description:

In this project you are going to build a command line application which takes a quadratic equation in the form "ax2 + bx + c = 0" of as command line argument and solves the equation by using the following formula

In order to support power a proper notation you can take the ax2 + bx + c = 0 as

ax^2 + bx + c and then solve the equation. A useful data structure for parsing the command line is stack. However, if you find other ways to make it this work, would be OK. Keep in mind

that you cannot ask for a,b,c from user separately. To simplify the problem for this project, you can assume that a,b,c are not zero. If you cover other cases, you will be rewarded with bonus points.

Make sure to follow the instruction and use proper naming as it is provided to you. Dont change Class names, method names or variables.Remember, that all names in java are case sensitive.

Requirements:

In addition, your program should support README option which prints help/usage of the program and all supported options.

If the user writes:

>java cp ./target edu.cau.cis301.Project1 README 
usage: java edu.cau.cis301.Project1 [options] args are (in this order): 

ax^2+bx+cx A quadratic equation where ^ is for power operation.

Options are: READM will print this help s will print only the root answers a will print all details, detected a,b,c and roots

As it is noted above, your program will need to support s and a options as well for short/simple output and full details output respectively.

Notes:

Before diving into coding, use a scratch paper and plan out your design. Come up with as many unique cases as possible which you need to consider. Start with simple cases and expand your work to cover more complex cases. For instance, there are different quadratic equations such

as 2x^2+1, x^260x+100, x^24, etc... These cases include single digit or multiple digit multipliers for x, or b,c being 0.

A good strategy might be to start with simple cases and then expanding the scope your application to cover other cases.

Project Repository:

For most projects you will be using github source control. Each project may come with a starter code that you need to download. Use the link below to register and create a github account and start your work.

https://classroom.github.com/a/UkPT_yc

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!