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黑皮书课后题第5章:5.11(找出能被5或6整除的数,但不能同时整除)编写程序,显示从100到1000之间能被5或6整除但不能同时整除的数,每行显示10个。数字之间用一个空格字符隔开
5.11(编写程序,显示从100到1000之间能被5或6整除但不能同时整除的数,每行显示10个.数字之间用一个空格字符隔开 题目 题目概述 破题 引申:continue break与return 代码 ...
- Java黑皮书课后题第8章:*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1。让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了
*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1.让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了 题目 题目描述与运行示例 破题 代码 题目 题 ...
- Java黑皮书课后题第2章:*2.17(科学:风寒温度)外面有多冷?...twc=35.74+0.6215ta-35.75v0.16+0.4275tav0.16,输入度数、风速显示风寒温度
*2.17(科学:风寒温度)外面有多冷?...twc=35.74+0.6215ta-35.75v0.16+0.4275tav0.16,输入度数.风速显示风寒温度 题目 题目描述 破题 运行示例 代码 ...
- Java黑皮书课后题第7章:**7.24(仿真:优惠券收集问题)优惠券收集问题是一个经典的统计问题。编写程序,模拟要得到四张不同花色的牌所需要的选取次数,然后显示选中的四张牌
**7.24(仿真:优惠券收集问题)优惠券收集问题是一个经典的统计问题.编写程序,模拟要得到四张不同花色的牌所需要的选取次数,然后显示选中的四张牌 题目 题目描述与运行示例 破题:花色与数字 代码 题 ...
- Java黑皮书课后题第4章:*4.3(几何:估算面积)应用4.1节图中以下地点的GPS位置:Georgia州的Atlanta……计算被这四个城市所围起来的区域面积
*4.3(几何:估算面积)应用4.1节图中以下地点的GPS位置:Georgia州的Atlanta.Florida州的Orlando.Georgia州的Savannah.North Carolina的C ...
- Java黑皮书课后题第9章:*9.4(使用Random类)编写一个程序,创建一个种子为1000的Random对象,然后使用nextInt(100)方法显示0到100之间的前50个随机整数
Java黑皮书课后题第9章:*9.4(使用Random类)编写一个程序,创建一个种子为1000的Random对象,然后使用nextInt方法显示0到100之间的前50个随机整数 题目 赘述 代码 题目 ...
- Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString()方法分别显示上述日期
Java黑皮书课后题第9章:*9.3(使用Date类)编写程序创建一个Date对象,设置它的流逝时间分别为...,然后使用toString方法分别显示上述日期 题目 代码 思路 代码 题目 代码 思路 ...
- Java黑皮书课后题第1章:1.12(以千米计的平均速度)假设一个跑步者1小时40分35秒跑了24英里。编写一个程序显示以每小时为多少千米为单位的平均速度值(1英里等于1.6千米)
Java黑皮书课后题第1章:1.12(以千米计的平均速度) 题目 题目描述 破题 代码块 修改日志 题目 题目描述 1.12(以千米计的平均速度)假设一个跑步者1小时40分35秒跑了24英里.编写一个 ...
- Java黑皮书课后题第1章:*1.11(人口估算)编写一个程序,显示未来5年的每年人口数。假设当前的人口是312 032 486,每年有365天
Java黑皮书课后题第1章:*1.11(人口估算) 题目 题目描述 破题 代码块 方法评析 为什么print函数内的表达式不能分开 修改日志 题目 题目描述 *1.11(人口估算)编写一个程序,显示未 ...
- Java黑皮书课后题第1章:1.7(求π的近似值)编写程序,显示4*(1-1/3+1/5-1/7+1/9-1/11【+1/13】)
Java黑皮书课后题第1章:1.7(求π的近似值) 题目描述 代码 代码块 评析 修改日志 题目描述 可以使用以下公式计算π: [手动空格]π=4*(1-1/3+1/5-1/7+1/9-1/11+-) ...
最新文章
- win32下进程间通信方式之管道、邮件槽、剪切板、共享内存、消息、套接字、RPC、DDE等
- CentOS7设置自定义开机启动,添加自定义系统服务
- 数据库及中间件术语解释
- Javascript模块化编程系列二: 模块化的标准化(CommonJS AMD)
- sort()、stable_sort()、partial_sort()、nth_element()、greater()、is_sorted()
- 白盒测试之基本路径测试法[3]
- 数据库得事务控制详解,什么是事务回滚详解,通俗易懂
- linux常用运行库,软件常用运行库-软件常用运行库scku下载 v3.1.0.0官方版--pc6下载站...
- Centos7 搭建 Socks 服务
- JS或jQuery获取当前屏幕宽度
- DNS NoteBook
- CAD导入图片怎么操作?简单几步就导入
- 数组和链表 Array and Linked-List
- 如何区分前端bug还是后端bug?
- Android课程表显示
- 变更控制委员会CCB
- Pygame中blit( )方法讲解(Surface对象)
- dos版电影 (telnet towel.blinkenlights.nl的奇迹!!)-STAR WARS in ARCII
- SpringCloud核心组件概述(五大神兽)
- 计算摄影:相机成像流程 —— ISP
热门文章
- python的解释提示符为_python学习笔记01--基础
- zcmu1734: 18岁
- 一文读懂人类信息存储进化史
- 智能技术可以帮助解决人口老龄化问题吗?
- python数据科学讲解_数据科学的概念-Python数据科学技术详解与商业项目实战精讲 - Python学习网...
- 为什么说Android才是游戏开发者的乐土?
- 萌新资源 | 3D基础——渲染基本原理介绍
- 白鹭引擎助力《迷你世界》研发团队开发3D小游戏版
- 【蓝桥杯Java_C组·从零开始卷】第二节、ifswitch(超级详细,适合入门强化学习,理论与实战双保险(2021年12月30日上午9点直播·视频发布B站)
- 错误代码大全【100(临时响应)】【200(成功)】【300(已重定向)】【400(请求错误)】【500(服务器错误)】(HTTP协议版本)