Hello I am trying to get my Triangle program to use Horners Method for a valid t
ID: 671022 • Letter: H
Question
Hello I am trying to get my Triangle program to use Horners Method for a valid triangle.. how would i put this in my current program? I added the getPerimeter method but am unsure how to tie in the Horners Method. Please help me!!
Here is the assignment statement:
"for any valid triangle supply a method to compute and display the area of the triangle using Herod’s
method: where a, b, and c are the lengths of the sides and p is 1/2 of the
perimeter of the triangle, A = [p(p-a)(p-b)(p-c)]1/2. The area, A, should be a
double displayed with 2 digits after the decimal point. Supply a getPerimeter
method to compute the perimeter and an integer. "
Current program:
public class Triangle {
private int sideA;
private int sideB;
private int sideC;
private String Perimeter;
public static void main(String[] args) {
System.out.println("Enter integers below for type of triangle");
System.out.println("Enter 0 to quit");
}
public Triangle(int sideA, int sideB, int sideC) {
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
}
public String getPerimeter(){
return Perimeter;
}
public int getSideA() {
return sideA;
}
public void setSideA(int sideA) {
this.sideA = sideA;
}
public int getSideB() {
return sideB;
}
public void setSideB(int sideB) {
this.sideB = sideB;
}
public int getSideC() {
return sideC;
}
public void setSideC(int sideC) {
this.sideC = sideC;
}
public boolean isScalene() {
//Check for valid
if(isValid()) {
return sideA!=sideB && sideB!=sideC && sideC!=sideA;
} else {
return false;
}
}
public boolean isRight() {
//Check for valid
if(isValid()) {
if(sideA*sideA==Math.sqrt(sideB*sideB+sideC*sideC)
|| sideB*sideB==Math.sqrt(sideA*sideA+sideC*sideC)
|| sideC*sideC==Math.sqrt(sideA*sideA+sideB*sideB)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
public boolean isIsosceles() {
//Check for valid
if(isValid()) {
if(sideA==sideB || sideB==sideC || sideC==sideA) {
return true;
} else {
return false;
}
} else {
return false;
}
}
public boolean isEquilateral() {
//Check for valid
if(isValid()) {
return sideA==sideB && sideB==sideC && sideC==sideA;
} else {
return false;
}
}
public boolean isValid() {
return sideA+sideB > sideC || sideA+sideC > sideB || sideB+sideC > sideA;
}
}
Expection class:
package triangle;
public class IllegalTriangleException extends Exception {
private double area;
public IllegalTriangleException(double area) {
super( "The sum of any two sides is greater than the other side" + area);
this.area = area;
}
public double getArea() {
return area;
}
}
Explanation / Answer
// Triangle.java
public class Triangle {
private int sideA;
private int sideB;
private int sideC;
private int Perimeter;
public static void main(String[] args) {
System.out.println("Enter integers below for type of triangle");
System.out.println("Enter 0 to quit");
}
public Triangle(int sideA, int sideB, int sideC) {
this.sideA = sideA;
this.sideB = sideB;
this.sideC = sideC;
}
public int getPerimeter(){
Perimeter = sideA + sideB + sideC;
return Perimeter;
}
public int getSideA() {
return sideA;
}
public void setSideA(int sideA) {
this.sideA = sideA;
}
public int getSideB() {
return sideB;
}
public void setSideB(int sideB) {
this.sideB = sideB;
}
public int getSideC() {
return sideC;
}
public void setSideC(int sideC) {
this.sideC = sideC;
}
public boolean isScalene() {
//Check for valid
if(isValid()) {
return sideA!=sideB && sideB!=sideC && sideC!=sideA;
} else {
return false;
}
}
public boolean isRight() {
//Check for valid
if(isValid()) {
if(sideA*sideA==Math.sqrt(sideB*sideB+sideC*sideC) || sideB*sideB==Math.sqrt(sideA*sideA+sideC*sideC) || sideC*sideC==Math.sqrt(sideA*sideA+sideB*sideB)) {
return true;
} else {
return false;
}
} else {
return false;
}
}
public boolean isIsosceles() {
//Check for valid
if(isValid()) {
if(sideA==sideB || sideB==sideC || sideC==sideA) {
return true;
} else {
return false;
}
} else {
return false;
}
}
public boolean isEquilateral() {
//Check for valid
if(isValid()) {
return sideA==sideB && sideB==sideC && sideC==sideA;
} else {
return false;
}
}
public boolean isValid() {
return sideA+sideB > sideC || sideA+sideC > sideB || sideB+sideC > sideA;
}
}
// IllegalTriangleException.java
public class IllegalTriangleException extends Exception {
private double area;
public IllegalTriangleException(double area) {
super( "The sum of any two sides is greater than the other side" + area);
this.area = area;
}
public double getArea() {
return area;
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.