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 h1 = input.nextDouble();
  15. System.out.println("請輸入第一個矩形的寬");
  16. double w1 = input.nextDouble();
  17. System.out.println("請輸入第二個矩形的中心點x座標");
  18. double x2 = input.nextDouble();
  19. System.out.println("請輸入第二個矩形的中心點y座標");
  20. double y2 = input.nextDouble();
  21. System.out.println("請輸入第二個矩形的長");
  22. double h2 = input.nextDouble();
  23. System.out.println("請輸入第二個矩形的寬");
  24. double w2 = input.nextDouble();
  25. //計算兩矩形中心點座標x軸距離差與y軸距離差
  26. double differX =Math.pow(( x1 - x2 ) * ( x1 - x2 ), 0.5);
  27. //平方後再開更號是要確定此值為正數
  28. double differY =Math.pow(( y1 - y2 ) * ( y1 - y2 ), 0.5);
  29. //平方後再開更號是要確定此值為正數
  30. //計算兩矩形半長的差值和半寬的差值
  31. double differH =Math.pow(( h1 - h2 ) * ( h1 - h2 ), 0.5) / 2;
  32. //平方後再開更號是要確定此值為正數
  33. double differW =Math.pow(( w1 - w2 ) * ( w1 - w2 ), 0.5) / 2;
  34. //平方後再開更號是要確定此值為正數
  35. //第一個矩形比第二個矩形還要大
  36. if(differY > differH && differX > differW && h1 > h2 && w1 > w2)
  37. {
  38. System.out.println("兩矩形相離");
  39. }
  40. else if(differY > differH || differX > differW && h1 > h2 && w1 > w2)
  41. {
  42. System.out.println("兩矩形相交");
  43. }
  44. else if(differY < differH && differX < differW && h1 > h2 && w1 > w2)
  45. {
  46. System.out.println("兩矩形相疊");
  47. }
  48. //第二個矩形比第一個矩形還要大
  49. else if(differY > differH || differX > differW && h1 < h2 && w1 < w2)
  50. {
  51. System.out.println("第二個矩形包含第一個矩形");
  52. }
  53.  
  54. }
  55. }

沒有留言:

張貼留言

Go(Golang)程式語言 設定GCC

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