Java黑皮书课后题第4章:*4.7(顶点坐标)假设一个正五边形的中心位于(0,0),其中一个点位于0点位置。编写程序,提示用户输入正五边形外接圆的半径,显示p1到p5的5个坐标,保留两位小数
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第4章:*4.7(顶点坐标)假设一个正五边形的中心位于(0,0),其中一个点位于0点位置。编写程序,提示用户输入正五边形外接圆的半径,显示p1到p5的5个坐标,保留两位小数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*4.7(頂點坐標)假設一個正五邊形的中心位于(0,0),其中一個點位于0點位置。編寫程序,提示用戶輸入正五邊形外接圓的半徑,顯示p1到p5為5個坐標,保留兩位小數
- 題目
- 題目概述
- 運行示例
- 破題
- 代碼
題目
題目概述
*4.7(頂點坐標)假設一個正五邊形的中心位于(0,0),其中一個點位于0點位置。編寫程序,提示用戶輸入正五邊形外接圓的半徑,顯示p1到p5的5個坐標,保留兩位小數
運行示例
Enter the radius of the bounding circle: 100.52
The coordinates of five points on the pentagon are
(95.60, 31.06)
(0.00, 100.52)
(-95.60, 31.06)
(-58.08, -81.32)
(59.08, -81.32)
破題
題目翻譯槽點很多,沒圖根本理解不了
翻譯一下題目:
有一個正五邊形中心在原點,這個五邊形有個外接圓,五邊形的五個頂點在圓上(其中一個頂點p2在原點0點方向,p2左邊是p3、右邊是p1)
然后要通過console控制臺輸入的值(外接圓半徑),求出5個點的坐標
代碼
import java.util.Scanner;public class Test4_7 {public static void main(String[] args) {// 獲取半徑Scanner input = new Scanner(System.in);System.out.println("Enter the radius of the bounding circle: ");double r = input.nextDouble();// 求頂點到x軸夾角的幾個特殊值double angle18 = Math.toRadians(90 - 360 / 5);double angle54 = Math.toRadians((2 * 360) / 5 - 90);// 求出5個頂點的x、y坐標System.out.println(r * Math.cos(angle54)+" "+ r * Math.sin(angle54));double xp1 = r * Math.cos(angle18), yp1 = r * Math.sin(angle18);double xp2 = 0, yp2 = r;double xp3 = -r * Math.cos(angle18), yp3 = r * Math.sin(angle18);double xp4 = -r * Math.cos(angle54), yp4 = -r * Math.sin(angle54);double xp5 = r * Math.cos(angle54), yp5 = -r * Math.sin(angle54);// 輸出數據System.out.println("The coordinates of five points on the pentagon are");System.out.printf("(%.2f, %.2f)", xp1, yp1);System.out.printf("\n(%.2f, %.2f)", xp2, yp2);System.out.printf("\n(%.2f, %.2f)", xp3, yp3);System.out.printf("\n(%.2f, %.2f)", xp4, yp4);System.out.printf("\n(%.2f, %.2f)", xp5, yp5);} }總結
以上是生活随笔為你收集整理的Java黑皮书课后题第4章:*4.7(顶点坐标)假设一个正五边形的中心位于(0,0),其中一个点位于0点位置。编写程序,提示用户输入正五边形外接圆的半径,显示p1到p5的5个坐标,保留两位小数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第4章:*4.6(图
- 下一篇: Java黑皮书课后题第4章:*4.8(给