Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/out/
2 changes: 2 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/libraries/JalaliCalendar_1_3_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions .idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/workshop-2.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions EhsanFakhraie/EhsanFakhraie
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Full Name: Ehsan Fakhraie
Student Number: 9831092

Binary file added EhsanFakhraie/libs/JalaliCalendar-1.3.1.jar
Binary file not shown.
44 changes: 44 additions & 0 deletions EhsanFakhraie/src/paint/v1/Circle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package paint.v1;

public class Circle {
private int radius;

public Circle(int radius) {
this.radius = radius;
}

public int getRadius() {
return radius;
}
public double calculatePerimeter(){
return 2*Math.PI*radius;
}
public double calculateArea(){
return Math.PI*radius*radius;
}
public void draw(){
System.out.println("Circle ,"+calculatePerimeter()+","+calculateArea());
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;

Circle circle = (Circle) o;

return radius == circle.radius;
}

@Override
public int hashCode() {
return radius;
}

@Override
public String toString() {
return "Circle{" +
"radius=" + radius +
'}';
}
}
30 changes: 30 additions & 0 deletions EhsanFakhraie/src/paint/v1/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package paint.v1;

public class Main {
public static void main(String[] args) {
Circle circle1=new Circle(19);
Circle circle2=new Circle(3);

Rectangle rect1=new Rectangle(1,4,1,4);
Rectangle rect2=new Rectangle(8,5,8,5);
Rectangle rect3=new Rectangle(6,6,6,6);

Triangle t1=new Triangle(2,2,2);
Triangle t2=new Triangle(4,4,6);

Paint paint=new Paint();

paint.addCircle(circle1);
paint.addCircle(circle2);

paint.addRectangle(rect1);
paint.addRectangle(rect2);
paint.addRectangle(rect3);

paint.addTriangle(t1);
paint.addTriangle(t2);

paint.drawAll();
paint.printAll();
}
}
45 changes: 45 additions & 0 deletions EhsanFakhraie/src/paint/v1/Paint.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package paint.v1;

import java.util.ArrayList;
import java.util.List;

public class Paint {
public ArrayList<Rectangle> rectangles;
public ArrayList<Triangle> triangles;
public ArrayList<Circle> circles;

public Paint() {
rectangles=new ArrayList<>();
circles=new ArrayList<>();
triangles=new ArrayList<>();
}

public void drawAll(){
for (Triangle t:triangles)
t.draw();
for (Rectangle t:rectangles)
t.draw();
for (Circle t:circles)
t.draw();
}

public void printAll(){
for (Triangle t:triangles)
System.out.println(t);
for (Rectangle t:rectangles)
System.out.println(t);
for (Circle t:circles)
System.out.println(t);
}

public void addCircle(Circle c){
circles.add(c);
}

public void addTriangle(Triangle c){
triangles.add(c);
}
public void addRectangle(Rectangle c){
rectangles.add(c);
}
}
52 changes: 52 additions & 0 deletions EhsanFakhraie/src/paint/v1/Rectangle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package paint.v1;

import java.util.Arrays;

public class Rectangle {
double[] sides;

public Rectangle(double s1,double s2,double s3,double s4) {
this.sides = new double[4];
sides[0]=s1;
sides[1]=s2;
sides[2]=s3;
sides[3]=s4;
}

public double[] getSides() {
return sides;
}

public double calculatePerimeter(){
double perimeter=0;
for(double side:sides)
perimeter+=side;
return perimeter;
}
public double calculateArea(){

return sides[0]*sides[1];
}
public void draw(){
System.out.println("Rectangle ,"+calculatePerimeter()+","+calculateArea());
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Rectangle rectangle = (Rectangle) o;
for (int i = 0; i < 3; i++) {
if(sides[i]!=rectangle.getSides()[i])
return false;
}
return true;
}
@Override
public String toString() {
return "Rectangle{" +
"sides=" + Arrays.toString(sides) +
'}';
}

}
Loading