問題
請寫一程式可輸入一點到一直線之間的距離例如直線=3x+4y=5,點(1,2)之間的距離為1.2
package ch4;
import java.io.*;
public class ch4_11_4
{
public static void main(String args[]) throws IOException
{
InputStreamReader in=new InputStreamReader(System.in);
BufferedReader buf=new BufferedReader(in);
int liA,liB,liC,poX,poY;
double dis;
String strliA,strliB,strliC,strpoX,strpoY;
System.out.println("請依次輸入此直線方程式Ax+By+C=0中的ABC");
strliA=buf.readLine();
liA=Integer.parseInt(strliA);
strliB=buf.readLine();
liB=Integer.parseInt(strliB);
strliC=buf.readLine();
liC=Integer.parseInt(strliC);
System.out.println("輸入值如下");
System.out.println("A="+liA+",B="+liB+",C="+liC);
System.out.println("請一次輸入座標的X與Y");
strpoX=buf.readLine();
poX=Integer.parseInt(strpoX);
strpoY=buf.readLine();
poY=Integer.parseInt(strpoY);
System.out.println("你輸入的座標是("+poX+","+poY+")");
dis=(Math.abs(
(liA*poX)+(liB*poY)+liC)
/(Math.sqrt(
Math.pow(liA,2)+Math.pow(liB,2))));
System.out.println("點與直線的距離等於"+dis);
}
}
輸出結果
請依次輸入此直線方程式Ax+By+C=0中的ABC
3
4
-5
輸入值如下
A=3,B=4,C=-5
請一次輸入座標的X與Y
1
2
你輸入的座標是(1,2)
點與直線的距離等於1.2
留言列表