2014年12月23日 星期二

java程式設計題目---數字處理【平面座標位置判斷(圓形、圓形)】

設計一程式,提示使用者輸入兩個圓形的中心點(x,y)和半徑。判斷第二個圓形是在第一個圓形的
1. 內部
2. 重疊
3. 無相交



  1. import java.util.Scanner;
  2.  
  3. public class C1
  4. {
  5. public static void main(String[] args)
  6. {
  7. Scanner input = new Scanner(System.in);
  8. //輸入圓形的中心點,半徑
  9. System.out.println("請輸入第一個圓形的中心點x座標");
  10. double x1 = input.nextDouble();
  11. System.out.println("請輸入第一個圓形的中心點y座標");
  12. double y1 = input.nextDouble();
  13. System.out.println("請輸入第一個圓形的半徑長");
  14. double r1 = input.nextDouble();
  15. System.out.println("請輸入第二個圓形的中心點x座標");
  16. double x2 = input.nextDouble();
  17. System.out.println("請輸入第二個圓形的中心點y座標");
  18. double y2 = input.nextDouble();
  19. System.out.println("請輸入第二個圓形的半徑長");
  20. double r2 = input.nextDouble();
  21. //計算兩圓相對位置並印出結果
  22. double a1 = ( x1 - x2 ) * ( x1 - x2 );
  23. double a2 = ( y1 - y2 ) * ( y1 - y2 );
  24. double a3 = a1 + a2;
  25. double a4 =Math.pow(a3, 0.5);
  26. if(a4 < r2 - r1 && r1 <= r2)
  27. {
  28. System.out.println("第一個圓在第二個圓內");
  29. }
  30. else if(a4 < r1 - r2 && r1 >= r2)
  31. {
  32. System.out.println("第二個圓在第一個圓內");
  33. }
  34. else if(a4 < r1 + r2 && a4 < r1 - r2 && r1 >= r2)
  35. {
  36. System.out.println("第二個圓與第一個圓相割");
  37. }
  38. else if(a4 < r1 + r2 && a4 < r2 - r1 && r2 >= r1)
  39. {
  40. System.out.println("第二個圓與第一個圓相割");
  41. }
  42. else if(a4 == r1 + r2)
  43. {
  44. System.out.println("第二個圓與第一個圓相切");
  45. }
  46. else if(a4 > r1 + r2)
  47. {
  48. System.out.println("第二個圓與第一個圓相離");
  49. }
  50.  
  51. }
  52.  
  53. }

沒有留言:

張貼留言

Go(Golang)程式語言 設定GCC

下載MSYS2:  https://www.msys2.org/ 安裝 程式開始執行後輸入: pacman -Syu y y 在安裝目錄底下找到msys2.exe,雙擊執行 輸入指令: pacman -Su pacman -S --needed base-devel mingw-...