首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java程序,填充程序中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点
阅读以下说明和Java程序,填充程序中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点
admin
2013-07-03
50
问题
阅读以下说明和Java程序,填充程序中的空缺,将解答填入答题纸的对应栏内。
【说明】
下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之间的距离,从而确定出距离最近的点对。例如,在下图所示的8个点中,点(1,1)与(2,0.5)是问距最近的点对。
[Java代码】
import java.util.Scanner;
class GPoint
{
private double x,y;
public void setX(aouble x) {this.x:x;}
public void setY(double y) {this.y=y;}
public double getX() {return this.x;}
public double getY() {return this.y;
}
class FindNearestPoints{
public static void main(String[]args){
Scanner input=new Scanner(System.in);
System.out.print(”输入点的个数:”);
int numberOfPoints=input.nextInt():
(1)
points=new GPoint[numberOfPoints]; //创建保存点坐标的数组
System.out.print(”请输入”+numberOfPoints+”个点的坐标”);
for(int i=0;i<points.1ength;i++){
points
=
(2)
;
points
.setX(input.nextDouble());
points
.setY(input.nextDouble());
}
FindNearestPoints fnp=new FindNearestPoints():
int p1=0,p2:1; //p1和p2用于表示距离最近的点对在数组中的下标
double shortestDistance=fnp.getDistance(points[p1],points[p2]);
//计算每一对点之间的距离
for(int i=0;i<:points.1ength;i++)
{
for(intj=1+1;j<
(3)
;J++)
{
double tmpDistance=fnp.
(4)
;
//计算两点间的距离
if(
(5)
)
{
p1=i;
p2=j;
shortestDistance=tmpDistance;
}
}
}
System.out.println(”距离最近的点对是(”+
points[p1].getX()+”,”+points[p1].getY()+”)和(”+
points[p2].getX()+”,”+points[p2].getY()+”)”);
}
public double getDistance(GPoint ptl,GPoint pt2)
{
retum Math.sqrt((pt2.getX() - pt1.getX())*(pt2.getX() - pt11getX())
+(pt2.getY() - pt1.getY())*(pt2.getY() - pt1.getY());
}
}
选项
答案
(1)GPoint[] (2)new GPoint[] (3)points.length (4)getDistance(points[i],points[j]) (5)shortestDistance>tmpDistance
解析
本题考查考生使用Java语青进行面向对象程序设计的能力。首先要理解清楚题目中有关最近点对的概念和计算方法,然后阅读程序以实现该功能。
(1)处显示创建保存点坐标的数组。这里的new运算符用于开辟数组空间,其语法规则为:new类型[初值]。(1)处需要填入一类型修饰符,因此应填入GPoint。类似的思路,(2)处考查Java语言中用new初始化数组,应填入new GPoint[]。
根据程序段中的注释,(3)和(4)处实现计算每一对点之间的距离。(3)处为循环控制变量,因为要计算所有对点间的距离,因此应填入points.1ength。(4)处应调用computeDistance类的distance函数计算每一对点points
和points[j]之间的距离,因此应填入getDistance(points
,points[j])。
(5)处应填入一个判断条件,以输出距离最小的点对。这可通过比较shortestDistance和tmpDistance来实现。因此,(5)处应填入shortestDistance>tmpDistance。
转载请注明原文地址:https://kaotiyun.com/show/rnjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某互联网公司建立的用户画像(标签化的用户信息)包括人口属性和行为特征两大类,()属于行为特征。
在Windows7中,若删除桌面上某个应用程序的快捷方式图标,则(31)。
在Word中打开英文文档或者在文档中输入英文信息时,系统会自动对拼写和语法进行检查,如果出现红色波形下划线则表示存在(50)。
某种考试共有75个试题,每对一题得2分,每错一题扣1分。某考生最后的分数是54分,则该考生共做对______题。
在Excel中,函数“=AVERAGE(A1,.B4)”的含义是()。
在Word的编辑状态下,先后新建了两个文档,但并没有对这两个文档做“保存”或“另存为”操作,则______。
许多书上都说,人一次只能记住或处理5~9(7±2)条信息。为了检验这个结论是否正确,宜采用()调查方法。经过多次调查统计研究发现,人一次平均只能记住或处理4条信息。经考证,原来7±2的说法只是一位专家在一个讲演稿中的估计,并不是真正的调研报告,但却
在Excel2007的A1单元格中输入函数“=LEFT(“CHINA”,1)”,按回车键后,则A1单元格中的值为()。
计算机在接通电源后,系统首先由(41)程序对内部每个设备进行测试。
从以下备选答案中为程序中(1)~(5)处空缺内容选择正确答案,填入答题纸对应的解答栏内。(1)A.CreatObject()B.connect0C.go()D.open()(2)A."select*fromdata"B."select
随机试题
Day-schools______(most)workfromMondaytoFridayonly.
DNA携带生物遗传信息这一事实意味着什么()
毫微型胶囊的粒径在磁性微球所用磁性铁的粒径在
甲公司2010年发生下列各项交易或事项:(1)取得长期股权投资的现金股利200万元1(2)为购建固定资产支付专门借款利息60万元;(3)购买可供出售金融资产支付价款3000万元;(4)因固定资产毁损收取保险公司赔偿30万元;(5)以银行存款向税务
教育在个体身心发展中起的作用是无条件的。()
不抵抗主义我向来很赞成,不过因为有些偏于消极,不敢实行。现在一想,这个见解实在是大谬。为什么?因为不抵抗主义面子上是消极,骨底里是最经济的积极。我们要办事有成效,假使不实行这主义,就不免消费精神于无用之地,我们要保存精神,在正当的地方用,就不得不在可以不
GooglealreadyhasawindowintooursoulsthroughourInternetsearchesanditnowhasinsightintoourailingbodiestoo.The
(66)program propagates itself by modifying other programs to include a possibly changed copy of itself and that is executed whe
在考生文件夹中分别建立WEN和HUA两个文件夹。
China’sonlinegiants,AlibabaandTencent,onceareseenasimitatorspumpedupbytheprotectionofahugehomemarket,havep
最新回复
(
0
)