Advertisement
dimipan80

C#Exams 1. Triangle (on Java Code)

Aug 22nd, 2014
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.26 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. class Point {
  4.     private double x, y;
  5.  
  6.     public double getX() {
  7.         return x;
  8.     }
  9.  
  10.     public void setX(double x) {
  11.         this.x = x;
  12.     }
  13.  
  14.     public double getY() {
  15.         return y;
  16.     }
  17.  
  18.     public void setY(double y) {
  19.         this.y = y;
  20.     }
  21.  
  22.     public Point(double x, double y) {
  23.         // TODO Auto-generated constructor stub
  24.         this.x = x;
  25.         this.y = y;
  26.     }
  27.  
  28.     public static double distanceBetween(Point point1, Point point2) {
  29.         double deltaX = point1.x - point2.x;
  30.         double deltaY = point1.y - point2.y;
  31.  
  32.         return Math.sqrt((deltaX * deltaX) + (deltaY * deltaY));
  33.     }
  34.  
  35. }
  36.  
  37. public class _1_Triangle {
  38.  
  39.     public static void main(String[] args) {
  40.         // TODO Auto-generated method stub
  41.         Scanner scan = new Scanner(System.in);
  42.         Point[] triangle = new Point[3];
  43.         for (int i = 0; i < triangle.length; i++) {
  44.             int pointX = scan.nextInt();
  45.             int pointY = scan.nextInt();
  46.             triangle[i] = new Point(pointX, pointY);
  47.         }
  48.  
  49.         double[] triangleSides = calculateLengthsOf3SidesOfGivenTriangle(triangle);
  50.  
  51.         boolean isTriangle = checkGiven3PointsCanFormTriangleOrNot(triangleSides);
  52.         if (isTriangle) {
  53.             System.out.println("Yes");
  54.             double areaTriangle = calculateAreaOfGivenTriangle(triangleSides);
  55.             System.out.printf("%.2f\n", areaTriangle);
  56.         } else {
  57.             System.out.println("No");
  58.             System.out.printf("%.2f\n", triangleSides[0]);
  59.         }
  60.  
  61.     }
  62.  
  63.     private static double[] calculateLengthsOf3SidesOfGivenTriangle(
  64.             Point[] triangle) {
  65.         // TODO Auto-generated method stub
  66.         double[] sides = new double[3];
  67.         for (int i = 0; i < sides.length; i++) {
  68.             sides[i] = Point
  69.                     .distanceBetween(triangle[i], triangle[(i + 1) % 3]);
  70.         }
  71.  
  72.         return sides;
  73.     }
  74.  
  75.     private static boolean checkGiven3PointsCanFormTriangleOrNot(double[] sides) {
  76.         for (int i = 0; i < sides.length; i++) {
  77.             double sumOf2Sides = sides[i] + sides[(i + 1) % 3];
  78.             if (sumOf2Sides <= sides[(i + 2) % 3]) {
  79.                 return false;
  80.             }
  81.         }
  82.  
  83.         return true;
  84.     }
  85.  
  86.     private static double calculateAreaOfGivenTriangle(double[] sides) {
  87.         // TODO Auto-generated method stub
  88.         double perimeter = (sides[0] + sides[1] + sides[2]) / 2;
  89.         double area = perimeter;
  90.         for (int i = 0; i < sides.length; i++) {
  91.             area *= perimeter - sides[i];
  92.         }
  93.  
  94.         area = Math.sqrt(area);
  95.         return area;
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement