西南大学2017年《面向对象程序设计》大作业参考答案_第1页
西南大学2017年《面向对象程序设计》大作业参考答案_第2页
西南大学2017年《面向对象程序设计》大作业参考答案_第3页
西南大学2017年《面向对象程序设计》大作业参考答案_第4页
西南大学2017年《面向对象程序设计》大作业参考答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

请按下面的要求编写程序。(1)定义一个接口Shapes,它至少包含一个可以计算面积的成员方法。(2)编写实现该Shapes接口的两个类:正方形类和圆形类。(3)编写一个具有泛型特点的类Map,要求该类可以在控制台窗口输出某种图形的面积,而且这个类的类型变量所对应的实际类型就是(2)编写的正方形类和圆形类。(4)利用具有泛型特点的类Map在控制台窗口分别输出给定边长的正方形的面积和给定半径的圆的面积。参考:/ 定义接口inte*ce Shapes abstract double getArea();/ 定义Square类class Square implements Shapes public double edge;public Square(double edge) this.edge = edge;public double getArea() return (edge * edge);/ 定义Circle类class Circle implements Shapes public double radius;public Circle(double radius) this.radius = radius;public double getArea() return (radius * radius * Math.PI);class Map / 使用泛型T,T应当是Shapes的子类 T t;public Map(T t) this.t = t; public double getArea() return t.getArea(); / 测试程序class Test public static void main(String args) Map m1 = new Map(new Square(15.0); System.out.println(正方形的面积是: + m1.getArea(); Map m2 = new Map(new Circle(15.0); System.out.println(圆形的面积是: + m2.getArea(); 问题:编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击“=”按钮时,在第三个文本框中输出其乘积。参考:/ import语句import javax.swing.*; import java.awt.*;import java.awt.event.*;public classMultiply extends JFrame implements ActionListener/ 组件声明及创建 private JButton operator = new JButton( * ); private JTextField input1 = new JTextField(5); private JTextField input2 = new JTextField(5); private JButton equal = new JButton( = ); private JTextField result = new JTextField(5); / 添加组件 public Multiply () Container c = getContentPane(); c.setLayout(new FlowLayout(); c.add(input1); c.add(operator); c.add(input2); c.add(equal); c.add(result); equal.addActionListener(this); / 处理按钮动作事件 public void actionPerformed(ActionEvent e) double operand1 = Double.valueOf(input1.getText().doubleValue(); double operand2 = Double.valueOf(input2.getText().doubleValue(); result.setText(String.valueOf(operand1*operand2); / 设置框架属性 public static void main(String args ) Multiply f = new Multiply(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setSize(320, 80); f.setVisible(true); 题目:请设计一个软件包。要求该软件包至少拥有正方形类、圆类。要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。然后编写一个测试程序,分别创建这些类的实例对象,并输出这些实例对象的周长和面积。在创建这些实例对象时,构造方法的调用参数值分别是: 正方形:左上定点的坐标为(5,10),边长为15。 圆形:圆心的坐标为(0,0),圆心为15。参考:inte*ce Shapes abstract double getArea(); abstract double getPerimeter();/ 定义接口class Square implements Shapes / 定义Square类 public int x, y; public int width, height; public double getArea() return (width * height); public double getPerimeter() return (2 * width + 2 * height); public Square(int x, int y, int width, int height) this.x = x; this.y = y; this.width = width; this.height = height; class Circle implements Shapes / 定义Circle类 public int x, y; public double radius; public double getArea() return (radius * radius * Math.PI); public double getPerimeter() return (2 * Math.PI * radius); public Circle(int x, int y, double r) this.x = x; this.y = y; this.radius = r; public class TestShape / 测试程序 public static void main(String args) Shapes s1 = new Square(5, 10, 15, 15); Shapes s2 = new Circle(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”中。参考:import java.io.DataOutputStream;import java.io.FileOutputStream;import java.io.IOException;public class TestSort public static int MAXSIZE = 61; public static void sortInt(int arr) / 采用选择法对一维数组进行排序 for (int i = 0; i arr.length - 1; i+) int k = i; for (int j = i + 1; j arr.length; j+) if (arrj i) / 在外循环中实施交换 arri = arri + arrk; arrk = arri - arrk; arri = arri - arrk; public static void main(String args) int score = new intMAXSIZE; try for (int i = 0; i MAXSIZE; i+) scorei = (int) (Math.random() * 100 + 0.5); sortInt(score); DataOutputStream dout = new DataOutputStream( new FileOutputStream(score.txt)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论