題目
輸入兩點可得直線方程式,請寫一程式可以輸入兩個點並得到直線方程式
package ch4;
import java.io.*;
public class ch4_11_5
{
public static void main(String args[])throws IOException
{
InputStreamReader in=new InputStreamReader(System.in);
BufferedReader buf=new BufferedReader(in);
int X1,X2,Y1,Y2,X,Y,C,M;
String strX1,strX2,strY1,strY2;
System.out.println("請輸入A點的X跟Y");
strX1=buf.readLine();
X1=Integer.parseInt(strX1);
strY1=buf.readLine();
Y1=Integer.parseInt(strY1);
System.out.println("請輸入B點的X跟Y");
strX2=buf.readLine();
X2=Integer.parseInt(strX2);
strY2=buf.readLine();
Y2=Integer.parseInt(strY2);
System.out.println("A點("+X1+","+Y1+")B點("+X2+","+Y2+")");
M=(Y2-Y1)/(X2-X1);
System.out.println("此兩點斜率為"+M);
X=Y2-Y1;
Y=-(X2-X1);
C=(-(X2-X1)*-Y1)+((Y2-Y1)*-X1);
if(Y>=0)//判斷輸出算式
{
if(C>=0)
{
System.out.println(X+"x+"+Y+"y+"+C+"=0");
}
else
{
System.out.println(X+"x+"+Y+"y"+C+"=0");
}
}
else
{
if(C>=0)
{
System.out.println(X+"x"+Y+"y+"+C+"=0");
}
else
{
System.out.println(X+"x"+Y+"y"+C+"=0");
}
}
}
}
結果
請輸入A點的X跟Y
-2
14
請輸入B點的X跟Y
4
-4
A點(-2,14)B點(4,-4)
此兩點斜率為-3
-18x-6y+48=0
留言列表