Question
Assignment #4 CSE110 - Arizona State University Topics Conditional and Loops (Chapter 4) Implementing classes (Chapter 5) Understanding and accessing instance variables (Chapter 8) Implementing
Assignment #4
CSE110 - Arizona State University
Topics
Conditional and Loops (Chapter 4)
Implementing classes (Chapter 5)
Understanding and accessing instance variables (Chapter 8)
Implementing methods (Chapter 6)
Object construction (Chapter 6)
Constructors (chapter 8)
Encapsulation (Chapter 8)
Coding Guidelines:
Give identifiers semantic meaning and make them easy to read (examples numStudents, grossPay, etc).
Keep identifiers to a reasonably short length.
User upper case for constants. Use title case (first letter is upper case) for classes. Use lower case with uppercase word separators for all other identifiers (variables, methods, objects).
Use tabs or spaces to indent code within blocks (code surrounded by braces). This includes classes, methods, and code associated with ifs, switches and loops. Be consistent with the number of spaces or tabs that you use to indent.
Use white space to make your program more readable.
Part #1: Written Exercises (0 pts)
None
Part #2 - Programming (20 pts)
Your assignment is to write a class definition (not a program, there is no main method) named Triangle (saved in a file Triangle.java). A Triangle has 3 instance variables:
int side1, side2, side3;
The class Triangle must include the following constructors and methods: (If your class does not contain any of the following methods, points will be deducted).
public Triangle (int s1, int s2, int s3) - Sets up a triangle with the specified side lengths.
private int largest() - Returns the length of the longest side of the triangle. This is a helper method.
private int shortest() Returns the length of the shortest side of the triangle. This is a helper method.
public boolean is_equilateral() - Determines whether a triangle is equilateral. If the longest side is equal to the shortest side, then the triangle is equilateral.
public boolean is_isosceles() - Determines whether a triangle is isosceles. Any (and at least) two sides must be equal.
public boolean is_scalene() - Determines whether a triangle is scalene. No two sides are equal.
public String toString() - Prints the sides of the triangle.
Save the Triangle class in a file called Triangle.java and use the following program stored in Assignment4.java which has the main method to create a new Triangle object and to test what kind of Triangle it is. A sample output is shown below.
Important
Your class should have exactly the method headers that are described or otherwise your class will not work with the test driver program (Assignment4.java) that is provided. You should never change the test driver program if the test driver is provided but instead make changes to Triangle class to make it work.
Helpful Hints
Work on it in steps - write one method, test it with a test driver and make sure it works before going on to the next method.
Always make sure your code compiles before you add another method.
Your methods should be able to be called in any order.
Triangle equal = new Triangle (6, 6, 6); //example of equilateral (and isosceles) triangle
Triangle isosceles = new Triangle (3, 7, 7); // example of isosceles triangle
Triangle scalene = new Triangle (4, 5, 6); // example of scalene triangle
Sample Outputs
Sample 1:
Enter the sides of the triangle:
3 4 5
4 5 triangle:
It is not isosceles
It is not a equilateral
It is scalene
Check another Triangle (y/n)? y Enter the sides of the triangle:
5 6
4 5 6 triangle:
It is not isosceles
It is not a equilateral
It is scalene
Check another Triangle (y/n)? y Enter the sides of the triangle:
4 4 4
4 4 4 triangle:
It is isosceles
It is equilateral
It is not scalene
Check another Triangle (y/n)? y Enter the sides of the triangle:
3 7 7
3 7 7 triangle:
It is isosceles
It is not a equilateral
It is not scalene
Check another Triangle (y/n)? n Press any key to continue . . .
Notes: Assignment4.java, the driver program, is completed for you. You just need to download it, save it as a .java file and in the same folder as your Tringale.java file and run it to test your Triangle class, which you must create.
/*-------------------------------------------------------------------------
/*-------------------------------------------------------------------------
// AUTHOR: your name
// FILENAME: title of the source file
// SPECIFICATION: description of the program
// TIME SPENT: how long it took you to complete the assignment
//----------------------------------------------------------------------*/
import java.util.Scanner;
public class Assignment4
{
//===========================================================
// Create and determine properties of various triangles.
//===========================================================
public static void main (String[] args)
{
Scanner console = new Scanner(System.in);
int num1, num2, num3;
String another;
// repeat until the user enter 'n'
do
{
// get the input
System.out.println("Enter the sides of the triangle: ");
num1 = console.nextInt();
num2 = console.nextInt();
num3 = console.nextInt();
// create the Triangle
Triangle myTriangle = new Triangle (num1, num2, num3);
// print the Triangle
System.out.println(myTriangle.toString() + " triangle:");
//check the isosceles
if (myTriangle.is_isosceles())
System.out.println("\tIt is isosceles");
else
System.out.println("\tIt is not isosceles");
//check the equilateral
if (myTriangle.is_equilateral())
System.out.println("\tIt is equilateral");
else
System.out.println("\tIt is not a equilateral");
//check the scalene
if (myTriangle.is_scalene())
System.out.println("\tIt is scalene");
else
System.out.println("\tIt is not scalene");
// find if the user want to repeat
System.out.println();
System.out.print("Check another Triangle (y/n)? ");
another = console.next();
} while (another.equalsIgnoreCase("y"));
} // method main
} // class Assignment4
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started