Java编程:点的排序与三角形构造

需积分: 16 1 下载量 65 浏览量 更新于2024-07-26 收藏 169KB DOC 举报
"Java编程题目,包括点的排序与输出,以及三角形构造与面积计算" 在Java编程考试中,可能会遇到以下两个知识点: 1. 随机数生成与对象数组排序: 这个题目涉及了Java的随机数生成、自定义类的实例化以及基于特定条件的数组排序。首先,`Math.random()` 函数用于生成0到1之间的随机浮点数,乘以10后得到0到10之间的随机整数。这些随机数用于初始化Point类的实例,存储在point类型的数组`s[]`中。每个Point对象有一个`distance()`方法,计算点到原点(0,0)的距离(欧几里得距离),通过`Math.pow()`计算平方并取平方根得到。接着,使用两层嵌套循环实现选择排序,将数组按照距离从小到大排列。`output(s)`方法用于打印排序后的点坐标及其距离。 2. 自定义类与条件判断: 第二个题目要求创建一个Triangle类,根据输入的三个边长构造三角形。如果输入的边长不能构成合法三角形(即任意两边之和小于第三边),则构造一个等边三角形,边长为三边中的最小值。这个题目涉及到面向对象编程,类的定义,以及三角形条件的检查。类的构造函数接收三个边长参数,并在内部进行合法性检查。同时,类还应包含计算三角形面积的方法,可以使用海伦公式来计算。海伦公式是根据三角形的三边长计算面积的,公式为`area = sqrt[p*(p-a)*(p-b)*(p-c)]`,其中`p`是半周长,即`(a+b+c)/2`。 通过这两个题目,考生需要掌握以下关键技能: - 类的定义、对象的创建与初始化 - 随机数生成 - 数组操作,包括遍历、排序 - 条件判断与异常处理 - 欧几里得距离的计算 - 面向对象编程中的构造函数和成员方法 - 三角形几何性质的理解与应用 这两个问题都要求考生具备扎实的Java基础和一定的数学知识,能够灵活运用编程技巧解决实际问题。在准备Java考试时,考生应重点关注这些领域,确保能够独立完成类似题目。
2012-04-25 上传
我学习Java时做的实验题目的一些答案,可供正在学习Java的莘莘学子们参考一下,应该有你想要的实验的答 案。部分题目如下,可看一下和你们老师布置的实验题目是否一样:编写一个程序输出如下图案。编制applet 程序,绘制一个长120、宽80的红色矩形,并在矩形内部绘制一个兰色内切椭圆。设有一批英文单词存放在一个 数组中,编制一个图形界面程序浏览单词。在界面中安排一个标签显示单词,另有“上一个”、“下一个”两 个按钮实现单词的前后翻动。编写一个鼠标位置跟踪程序,在鼠标所在位置为中心绘制一个红色十字架。编制 一个声音播放控制程序,在Applet面板上安排“播放”和“停止”两个按钮,点击“播放”将播放声音,点击 “停止”可停止播放。另外,Applet启动和离开时将自动播放和停止播放,要播放的声音文件名由Applet参数 提供。有一个南北向的桥,只能容纳一个人,现桥的两边分别有10人和12人,编制一个多线程序让这些人到达 对岸,每个人用一个线程表示,桥为共享资源。在过桥的过程中显示谁在过桥及其走向。编写一个可变颜色的 标签,用一个按钮控制颜色的改变与停止。点击按钮颜色停止变化,再点击该按钮颜色又变化。颜色的变化可 用随机数确定。编写一个图片播放程序,图片的文件名为 file01.jpg,file02.jpg,…filen.jpg, 其中n由命 令行输入,要求用多线程自动播放。1)设有一个由10个英文单词构成的字符串数组,要求: (1)统计以字母w开头的单词数; (2)统计单词中含“or”字符串的单词数; (3)统计长度为3的单词数。 创建一个程序,输出今天的年、月、日。 提示:创建一个java.util.Date类的对象代表当前的系统日期,使用对象的getYear()方法、getMonth()方法、 getDay()方法可获得对应的年月日。编写一个三角形类,能根据3个实数构造三角形对象,如果三个实数不满足 三角形的条件,则自动构造以最小值为边的等边三角形。输入任意三个数,求构造的三角形面积。1) 利用随机 函数定义10对(x,y)值,由此创建的Point类实例存入一个数组中,按与原点(0,0)的距离由小到大的顺序输 出所有的点及到原点的距离。 编写一个人与计算机对拿火柴的游戏程序。利用随机函数Math.random()产生火 柴数量(20~50), 每次最多拿3根,拿到最后一根为胜者。 要求:游戏过程要显示火柴总数,选择谁先拿;每步要显示剩余火柴数量,以及计算机拿的数量,并提示用户 输入拿多少;结束时显示谁是胜者。 【解题算法提示】 (1) 产生火柴总数(amount); (2) 决定随先拿(whoplay:1--人, 2--计算机); (3) 定义一个变量保存剩余火柴数量(remain)=amount ; (4) 当remain>0 循环 4.1 根据whoplay的值决定是计算机拿x根还是提示人拿x根;计算机拿时最好带有智能,人拿时要限制输 入数量。 4.2 修改 whoplay的值; 4.3 修改remain的值; (5) 根据whoplay的值决定胜者