2014年12月23日 星期二

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

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



import java.util.Scanner;

public class C1 
{
 public static void main(String[] args) 
 {
  Scanner input = new Scanner(System.in);  
  
  //輸入圓形的中心點,半徑
  System.out.println("請輸入第一個圓形的中心點x座標");
  double x1 = input.nextDouble();
  System.out.println("請輸入第一個圓形的中心點y座標");
  double y1 = input.nextDouble();
  System.out.println("請輸入第一個圓形的半徑長");
  double r1 = input.nextDouble();
  
  System.out.println("請輸入第二個圓形的中心點x座標");
  double x2 = input.nextDouble();
  System.out.println("請輸入第二個圓形的中心點y座標");
  double y2 = input.nextDouble();
  System.out.println("請輸入第二個圓形的半徑長");
  double r2 = input.nextDouble();
  
  //計算兩圓相對位置並印出結果
  double a1 = ( x1 - x2 ) * ( x1 - x2 );
  double a2 = ( y1 - y2 ) * ( y1 - y2 );
  double a3 = a1 + a2;
  double a4 =Math.pow(a3, 0.5);
  
  if(a4 < r2 - r1 && r1 <= r2)
  {
   System.out.println("第一個圓在第二個圓內");
  }
  else if(a4 < r1 - r2 && r1 >= r2)
  {
   System.out.println("第二個圓在第一個圓內");
  }
  else if(a4 < r1 + r2 && a4 < r1 - r2 && r1 >= r2)
  {
   System.out.println("第二個圓與第一個圓相割");
  }
  else if(a4 < r1 + r2 && a4 < r2 - r1 && r2 >= r1)
  {
   System.out.println("第二個圓與第一個圓相割");
  }
  else if(a4 == r1 + r2)
  {
   System.out.println("第二個圓與第一個圓相切");
  }
  else if(a4 > r1 + r2) 
  {
   System.out.println("第二個圓與第一個圓相離");
  } 

 }

}

沒有留言:

張貼留言

Go(Golang)程式語言 設定GCC

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