西南大学2017年《面向对象程序设计》大作业参考答案.doc
- 文档编号:2610587
- 上传时间:2022-11-03
- 格式:DOC
- 页数:6
- 大小:39.50KB
西南大学2017年《面向对象程序设计》大作业参考答案.doc
《西南大学2017年《面向对象程序设计》大作业参考答案.doc》由会员分享,可在线阅读,更多相关《西南大学2017年《面向对象程序设计》大作业参考答案.doc(6页珍藏版)》请在冰豆网上搜索。
请按下面的要求编写程序。
(1)定义一个接口Shapes,它至少包含一个可以计算面积的成员方法。
(2)编写实现该Shapes接口的两个类:
正方形类和圆形类。
(3)编写一个具有泛型特点的类Map,要求该类可以在控制台窗口输出某种图形的面积,而且这个类的类型变量所对应的实际类型就是
(2)编写的正方形类和圆形类。
(4)利用具有泛型特点的类Map在控制台窗口分别输出给定边长的正方形的面积和给定半径的圆的面积。
参考:
//定义接口
inte**ceShapes{
abstractdoublegetArea();
}
//定义Square类
classSquareimplementsShapes{
publicdoubleedge;
publicSquare(doubleedge){
this.edge=edge;
}
publicdoublegetArea(){
return(edge*edge);
}
}
//定义Circle类
classCircleimplementsShapes{
publicdoubleradius;
publicCircle(doubleradius){
this.radius=radius;
}
publicdoublegetArea(){
return(radius*radius*Math.PI);
}
}
classMap{ //使用泛型T,T应当是Shapes的子类
Tt;
publicMap(Tt){
this.t=t;
}
publicdoublegetArea(){
returnt.getArea();
}
}
//测试程序
classTest{
publicstaticvoidmain(String[]args){
Mapm1=newMap(newSquare(15.0));
System.out.println("正方形的面积是:
"+m1.getArea());
Mapm2=newMap(newCircle(15.0));
System.out.println("圆形的面积是:
"+m2.getArea());
}
}
问题:
编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击“=”按钮时,在第三个文本框中输出其乘积。
参考:
//import语句
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
publicclass MultiplyextendsJFrameimplementsActionListener{
//组件声明及创建
privateJButtonoperator=newJButton("*");
privateJTextFieldinput1=newJTextField(5);
privateJTextFieldinput2=newJTextField(5);
privateJButtonequal=newJButton("=");
privateJTextFieldresult=newJTextField(5);
//添加组件
publicMultiply(){
Containerc=getContentPane();
c.setLayout(newFlowLayout());
c.add(input1);
c.add(operator);
c.add(input2);
c.add(equal);
c.add(result);
equal.addActionListener(this);
}
//处理按钮动作事件
publicvoidactionPerformed(ActionEvente){
doubleoperand1=Double.valueOf(input1.getText()).doubleValue();
doubleoperand2=Double.valueOf(input2.getText()).doubleValue();
result.setText(String.valueOf(operand1*operand2));
}
//设置框架属性
publicstaticvoidmain(Stringargs[]){
Multiplyf=newMultiply();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(320,80);
f.setVisible(true);
}
}
题目:
请设计一个软件包。
要求该软件包至少拥有正方形类、圆类。
要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。
然后编写一个测试程序,分别创建这些类的实例对象,并输出这些实例对象的周长和面积。
在创建这些实例对象时,构造方法的调用参数值分别是:
正方形:
左上定点的坐标为(5,10),边长为15。
圆形:
圆心的坐标为(0,0),圆心为15。
参考:
inte**ceShapes{
abstractdoublegetArea();
abstractdoublegetPerimeter();
}
//定义接口
classSquareimplementsShapes{ //定义Square类
publicintx,y;
publicintwidth,height;
publicdoublegetArea(){
return(width*height);
}
publicdoublegetPerimeter(){
return(2*width+2*height);
}
publicSquare(intx,inty,intwidth,intheight){
this.x=x;
this.y=y;
this.width=width;
this.height=height;
}
}
classCircleimplementsShapes{ //定义Circle类
publicintx,y;
publicdoubleradius;
publicdoublegetArea(){
return(radius*radius*Math.PI);
}
publicdoublegetPerimeter(){
return(2*Math.PI*radius);
}
publicCircle(intx,inty,doubler){
this.x=x;
this.y=y;
this.radius=r;
}
}
publicclassTestShape{ //测试程序
publicstaticvoidmain(String[]args){
Shapess1=newSquare(5,10,15,15);
Shapess2=newCircle(0,0,6.0);
System.out.println("正方形的面积是:
"+s1.getArea());
System.out.println("正方形的周长是:
"+s1.getPerimeter());
System.out.println("圆形的面积是:
"+s2.getArea());
System.out.println("圆形的周长是:
"+s2.getPerimeter());
}
}
题目:
编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件“score.txt”中。
参考:
importjava.io.DataOutputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
publicclassTestSort{
publicstaticintMAXSIZE=61;
publicstaticvoidsortInt(int[]arr){//采用选择法对一维数组进行排序
for(inti=0;i intk=i; for(intj=i+1;j if(arr[j] k=j;//用k记录最小值的下标 if(k>i){//在外循环中实施交换 arr[i]=a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 西南 大学 2017 面向 对象 程序设计 作业 参考答案
![提示](https://static.bdocx.com/images/bang_tan.gif)