In: Computer Science
Can someone find what's wrong? If I don't use the last main method Netbeans says that there is no main method. I can't figure out what's wrong.
This was the prompt:
Design a class named triangle that extends geometricObject. For this, you should have created a GeometricObject class first. The class contains:
Your main method should create a triangle object and display it using toString()
This is my code:
package geometricobject;
/**
*
*
*/
public class GeometricObject {
/**
* @param args the command line arguments
*/
private String color = "white";
private boolean filled;
private java.util.Date dateCreated;
public GeometricObject() {
dateCreated = new java.util.Date();
}
public GeometricObject(String color, boolean filled) {
dateCreated = new java.util.Date();
this.color = color;
this.filled = filled;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public boolean isFilled() {
return filled;
}
public void setFilled(boolean filled) {
this.filled = filled;
}
public java.util.Date getDatecreated() {
return dateCreated;
}
public String toString() {
return "created on" + dateCreated + "\ncolor: " + color+ " and
filled: " + filled;
}
public class triangle extends GeometricObject
{
private double side1;
private double side2;
private double side3;
public triangle() {
side1 = 1;
side2 = 1;
side3 = 1;
}
public triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public double getSide1() {
return side1;
}
public double getSide2() {
return side2;
}
public double getSide3() {
return side3;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public void setSide3(double side3) {
this.side3 = side3;
}
public double getArea() {
double n = (side1+side2+side3) / 2.0;
return Math.sqrt(n*(n-side1)*(n-side2)*(n-side3));
}
public double getPerimeter() {
return side1 + side2 + side3;
}
@Override
public String toString() {
return super.toString() + "Triangle: side1 = " + side1 + " side2 =
" + side2 + "side3 = " + side3 ;
}}}
Error details :
*****************************
NOTE :NO CHANGE MADE IN THE CLASS GeometricObject.java
triangle.java :
package geometricobject;
//Java class
public class triangle extends GeometricObject {
//datafields
private double side1;
private double side2;
private double side3;
//no arg constructor
public triangle() {
this.side1 = 1.0;
this.side2 = 1.0;
this.side3 = 1.0;
}
//constructor with parameters
public triangle(double side1, double side2, double
side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public double getSide1() {
return side1;
}
public double getSide2() {
return side2;
}
public double getSide3() {
return side3;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public void setSide3(double side3) {
this.side3 = side3;
}
public double getArea() {
double n = (side1 + side2 + side3)
/ 2.0;
double area=n * (n - side1) * (n -
side2) * (n - side3);
double a=Math.sqrt(area);
return a;
}
//A method named getPerimeter() that returns the
perimeter of a triangle.
public double getPerimeter() {
return side1 + side2 + side3;
}
//A method name toString that returns the string
description of a triangle.(including color and filled)
@Override
public String toString() {
return super.toString() +
"\nTriangle: side1 = " + side1 + " side2 = " + side2 + " side3 = "
+ side3;
}
}
***********************************************'
triangleTest.java :
package geometricobject;
//Java class
public class triangleTest {
// main() method
public static void main(String[] args) {
// Object of triangle class
triangle t = new triangle(3.0, 5.0,
7.0);
// call method to print area of
triangle
System.out.println("Area of
triangle : " + t.getArea());
// call method to print
perimeter
System.out.println("Perimeter of
triangle : " + t.getPerimeter());
System.out.println(t.toString());
}
}
======================================
Output :