import java.util.Scanner;
public class ex3_27 {
public static void main(String[] args) {
double x1 = 200;
double y1 = 0;
double x2 = 0;
double y2 = 100;
double k = (y1-y2)/(x1-x2);
Scanner input = new Scanner(System.in);
System.out.println("Enter a point's x- and y-coordinates:");
double x3 = input.nextDouble();
double y3 = input.nextDouble();
// p-y1 / x3-x1 =k
double p = k*(x3-x1)+y1;
System.out.println(k);
System.out.println((x3-x1));
System.out.println(p);
if ( y3 < p ){
System.out.println("The point is in the triangle");
}
else {
System.out.println("The point in not in the triangle");
}
}
}
第一次写完发现怎么输入,结果都是不在三角形内,一步步加输出语句,查看,最后发现k斜率一直都是0,
然后发现,前面 的x1 x2 y1 y2 都是定义的 int 类型,所以除法运算后,k自然只能为0,改成 double 类型后解决