Java黑皮书课后题第3章:**3.27(几何:点是否在三角形内)假设一个平面上有一个直角三角形。编写程序,提示用户输入一个点的x坐标和y坐标,然后判断这个点是否在该三角形内
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第3章:**3.27(几何:点是否在三角形内)假设一个平面上有一个直角三角形。编写程序,提示用户输入一个点的x坐标和y坐标,然后判断这个点是否在该三角形内
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
**3.27(幾何:點是否在三角形內)假設一個平面上有一個直角三角形。編寫程序,提示用戶輸入一個點的x坐標和y坐標,然后判斷這個點是否在該三角形內
- 題目
- 題目描述
- 破題
- 運行示例
- 代碼
題目
題目描述
**3.27(幾何:點是否在三角形內)假設一個平面上有一個直角三角形。編寫程序,提示用戶輸入一個點的x坐標和y坐標,然后判斷這個點是否在該三角形內
書中圖的三角形,直角點在(0,0),其它兩個點在(200,0)和(0,100)
破題
根據三角形的特性,結合本題特點,在該三角形內的條件有3:
運行示例
Enter a point’s x- and y- coordinates: 100.5 25.5
The point is in the triangle
Enter a point’s x- and y- coordinates: 100.5 50.5
The point is not in the triangle
代碼
import java.util.Scanner;public class Test3_27 {public static void main(String[] args) {// 獲取該點x坐標、y坐標Scanner input = new Scanner(System.in);System.out.println("Enter a point's x- and y- coordinates: ");double x_judge = input.nextDouble(), y_judge = input.nextDouble();// 判斷該點是否在三角形內,如果不在則改為falseboolean bool = true;// 判斷x、y坐標是否在范圍內if( (x_judge < 0 || x_judge > 200) || (y_judge < 0 || y_judge > 100) ) {bool = false;}// 求出其它兩個點對應的直線斜率(k),并將x_judge y_judge代入判斷double k = 100.0 / (0 - 200);double b_judge = y_judge - k * x_judge;if(b_judge < 0 || b_judge > 100)bool = false;// 輸出if(bool)System.out.println("The point is in the triangle");elseSystem.out.println("The point is not in the triangle");} }總結
以上是生活随笔為你收集整理的Java黑皮书课后题第3章:**3.27(几何:点是否在三角形内)假设一个平面上有一个直角三角形。编写程序,提示用户输入一个点的x坐标和y坐标,然后判断这个点是否在该三角形内的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第3章:3.26(使
- 下一篇: Java黑皮书课后题第3章:**3.28