TheDeanVanGreunen

Java programming challenge double variable bug please help | solution

Sep 5th, 2020 (edited)
2,046
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.21 KB | None | 0 0
  1. import java.util.Scanner; // Import Scanner class (Used for Input)
  2. class Circle {
  3.   public void run() {
  4.     // Implement program for the assignment
  5.     Scanner input = new Scanner(System. in );
  6.  
  7.     //Circle 1 inputs from user
  8.     double coordinatex1; // x1 (midpoint 1st circle)
  9.     double coordinatey1; //y1 (midpoint 1st circle)
  10.     double radius1; //r1 (radius 1st circle)
  11.  
  12.     //Circle 2 inputs from user
  13.     double coordinatex2;  // x2 (midpoint 2nd circle)
  14.     double coordinatey2; //y2 (midpoint 2nd circle)
  15.     double radius2; //r2 (radius 2nd circle)
  16.     double pointx; // x2 (midpoint 2nd circle)
  17.     double pointy;  //y2 (midpoint 2nd circle)
  18.  
  19.     // Output Varibles
  20.     boolean isInCirlce1 = false;
  21.     boolean isInCirlce2 = false;
  22.     boolean isOnCirlce1 = false;
  23.     boolean isOnCirlce2 = false;
  24.     boolean isPointInBothCircles = false;
  25.     boolean isPointOnBothCircles = false;
  26.  
  27.     // Interface for Circle 1 (Enter midpoint coordinates and radius of circle 1)
  28.     System.out.println("Enter x-coordinate of 1st circle's midpoint ");
  29.     coordinatex1 = input.nextDouble(); // Storing the x1 input
  30.     System.out.println("Enter y-coordinate of 1st circle's midpoint ");
  31.     coordinatey1 = input.nextDouble(); // Storing the y1 input
  32.     System.out.println("Enter radius of 1st circle ");
  33.     radius1 = input.nextDouble(); // Storing the y1 input
  34.     if (radius1 < 0) {
  35.       System.out.println("input error");
  36.       System.exit(0);
  37.     }
  38.  
  39.     // Interface for Circle 1 (Enter midpoint coordinates and radius of circle 1)
  40.     System.out.println("Enter x-coordinate of 2nd circle's midpoint ");
  41.     coordinatex2 = input.nextDouble(); // Storing the x2 input
  42.     System.out.println("Enter y-coordinate of 2nd circle's midpoint ");
  43.     coordinatey2 = input.nextDouble(); // Storing the y2 input
  44.     System.out.println("Enter radius of 2nd circle ");
  45.     radius2 = input.nextDouble(); // Storing the r2 input
  46.  
  47.     // Negative Radius Error system
  48.     if (radius2 < 0) {
  49.       System.out.println("input error");
  50.       System.exit(0);
  51.     }
  52.  
  53.     // Interface for Point (Enter coordinates of the point)
  54.     System.out.println("Enter x-coordinate of the point ");
  55.     pointx = input.nextDouble(); // Storing the x-coordinate of the point
  56.  
  57.     System.out.println("Enter y-coordinate of the point ");
  58.     pointy = input.nextDouble(); // Storing the y-coordine of the point
  59.  
  60.     double distanceC1andP = (radius1 * radius1) - (((coordinatex1-pointx) * (coordinatex1-pointx)) + (((coordinatey1-pointy) * (coordinatey1-pointy))));
  61.     System.out.println("Distance between the 1st circle and the point is (from midpoint) " + distanceC1andP);
  62.  
  63.     double distanceC2andP = (radius2 * radius2) - (((coordinatex2-pointx) * (coordinatex2-pointx)) + (((coordinatey2-pointy) * (coordinatey2-pointy))));
  64.     System.out.println("Distance between the 2nd circle and the point is (from midpoint) " + distanceC2andP);
  65.  
  66.     // Do Check
  67.     isInCirlce1 = distanceC1andP > radius1
  68.     isInCirlce2 = distanceC2andP > radius2
  69.     isOnCirlce1 = distanceC1andP == 0;
  70.     isOnCirlce2 = distanceC2andP == 0;
  71.  
  72.     // Update Both Output Variable based on previous calcs
  73.     isPointInBothCircles = isInCirlce1 && isInCirlce2;
  74.     isPointOnBothCircles = isOnCirlce1 && isOnCirlce2;
  75.  
  76.     // Do Display
  77.     if(isPointInBothCircles || isPointOnBothCircles){
  78.         if(isPointInBothCircles){
  79.             System.out.println("Point is inside of both circles ");
  80.         }
  81.         if(isPointOnBothCircles){
  82.             System.out.println("Point is on of both circles ");
  83.         }
  84.     } else if(isInCirlce1 || isOnCirlce1){
  85.         if(isInCirlce1){
  86.             System.out.println("Point is inside of circle 1 ");
  87.         }
  88.         if(isOnCirlce1){
  89.             System.out.println("Point is on circle 1 ");
  90.         }
  91.     } else if(isInCirlce2 || isOnCirlce2){
  92.         if(isInCirlce2){
  93.             System.out.println("Point is inside of circle 2 ");
  94.         }
  95.         if(isOnCirlce2){
  96.             System.out.println("Point is on circle 2 ");
  97.         }
  98.     } else {
  99.         System.out.println("Point is outside of both circles ");
  100.     }
  101.   }
  102.  
  103.  
  104.   // Execute Code
  105.   public static void main(String[] args) {
  106.       (new Circle()).run();
  107.   }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment