Create the class as described in the book.

Name your class Quadratic

Your class should have ONLY the following  instance

coefA, double coefB, double coefC

Your class should have the following methods:

A constructor,
and a default constructor

Methods to retrieve the coefficients (called getCoefA, getCoefB, getCoefC)

A Method to evaluate the quadratic expression of a
particular value of x ( called evalExpression)

The sum
method (as described in the book)

The scale
method (as described in the book)

A method to retrieve the number of real roots (  called getRootNum)

Methods to retrieve the value of the roots getRootOne, getRootTwo

An equals

A clone

You may have other helper methods that help you to
solve the problem.


Write another class called QuadTest

This class will have ONLY three objects of the
class quadratic
(for the first quadratic, the second quadratic, and the
quadratic which is the sum of the two.)

QuadTest has at least the following methods ( they
should not be static methods) :

A method call intro
will give a description what the program is doing

A method called calculations
, this method will to do the required calculation, and to create a clone to
the first quadratic, and check if they are aliases, then check if the two
quadratic have the same coefficients

A method called parse,
which parse the line of input

This method will get the a string of eight numbers per
line: three numbers for the three coefficients, one number for the value of x,
the value of the number to scale the quadratic expression, and the next three
numbers are the coefficients for the second quadratic.

A method called output,
to create the output (not a static method) .


     If the quadratic has just one root,
display only one root

If the quadratic has infinite
number of  roots, display: there are
infinity number of roots ( do not output: number of roots is 3).

The number of roots = 3 only helps
you in your program to determine that there are infinity number of roots


Create another class called Lab1 that contain main

 The main method will read from an input file
one line at a time, each line will contain eight numbers. The main method will
continue the process until there is no more data to process.

The main method will call run method in the QuadTest class with the input line to be processed.

Create a clear output.



Test your program with the following data:( the data
will check for no real roots, every value of X is a real root, one root, two
roots )

Name the file as inputCoef.txt


2   8   6       3   2.0                   1  1  1

0   0   0       1   4.0                   2  2  2

0   0   5       2   5            0  1  2

4 10   7

0   2   6       3   2            1  0  2

2   4   9       1   5            1  2  0

3   6   3       5   2            5  5  5


The first three numbers are for the three coefficients, the next
numbers are for the value of x, the value of the number to scale the quadratic
expression ( a double value), and the next three numbers are the coefficients
for the second quadratic.

If there are not eight tokens per line, Output the line and give an
appropriate message like: Not enough
, and skip to the next line




Your program should also:

Write your names at each file of
your programs and the date

Write program Description after the Date

Write Clear
. The comments should be created in a style that will create
the javadoc documents

Create a javadoc document

Handle errors in reading
(example: not enough coefficients where read)



the following output:


Test # 1



The first quadratic is:

2*x*x +8*x + 6  

The values of the first quadratic expression with   x = 3 is :   48


The first quadratic after scaling with  
R = 2   :

          4*x*x  + 16*x  + 


Number of roots:    2

Value of the roots:

Value of root1:     -3

Value of root2:     -1


The Second quadratic is:

1*x*x +1*x + 1  


The quadratic which is sum of first and second quadratics:

3*x*x +9*x + 7  


A clone of the first quadratic is :

2*x*x +8*x + 6  

The first quadratic and the clone are not aliases, but are equal to
each other




Test # 2



Due Date: at the
beginning of class on  2/18 (week 4)

You will need to demonstrate
to me during lab that the project is working properly (it is part of your



Use this guideline for checking your program over before handing it in:


Hard copy of source
stapled together

Test cases stapled together

You name in a comment at the top of each file

Due Date in a comment under your name

Program Description after the Date

Proper indentation throughout your code

Descriptive identifiers

Constants defined as needed


o   comments at the
beginning of program explaining the purpose of the program

o   comments in the
program to clarify code

o   generating

o   if you give poor
comments or not enough you will loose 20%

Properly Labeled CD or Jump drive

CD or Jump drive contains Quadratic.java, Quadratic.class,
QuadtTest.java, QuadTest.class, lab1.java, lab1.class, input.txt, Output.txt ( Name of output file)

File names are as given above

Formatted Output - Correct spelling and
capitalization is consistent. Create an output file: Output.txt

Correct Output



In a closeable large
envelop (no folders) with your name
clearly stated outside  and assignment

A labeled
with the source code ( the programs with the. java file ) and the
.class files.

A hard
of the source code programs stapled together.

A hard
of the test cases stapled
together with your name marked on top

You will be required to show me that the programs are working

Grading criteria

5       - if the
project  is working good, get correct
output, and there are sufficient comments

4       - if the  project is working good, but there are some
problems with the  

       code, or some of the
output is incorrect

       or the comments are not

2 - if the code compile but does not run

1 - if the does not compile
Powered by