JAVA实验2复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设计一个名为figure的图形软件包(package)。包中包
含三角形、矩形、圆三个类。要求:(1)每个类都要构造
方法并为成员设置get和set方法;(2)每个类都要有计
算周长和面积的成员方法;(3)完成该软件包后的编码后,
在另一个包的含有main方法的类中编写代码,分别使用
图形软件包中的三个类,生成三个对象,并打印出其周长
和面积。
****************************************************** package figure;
public class juxing{//矩形的计算函数
private double lenth,width;
public juxing(){
lenth=0;
width=0;
}
public juxing (double x,double y){
lenth=x;
width=y;
}
public void setLenth(double lenth){
this.lenth=lenth;
}
public double getLenth(){
return lenth;
}
public void setWidth(double width){
this.width=width;
}
public double getWidth(){
return width;
}
public double perimeter(){
return lenth*width;
}
public double Area(){
return (lenth+width)*2;
}
}
****************************************************** package figure;
import java.math.*;
public class sanjiaoxing {//三角形的计算函数
private double side1;
private double side2;
private double side3;
public sanjiaoxing(){
side1=0;
side2=0;
side3=0;
}
public sanjiaoxing(double x,double y,double z){
side1=x;
side2=y;
side3=z;
}
public void setSide1(double side1){
this.side1=side1;
}
public double getSide1(){
return side1;
}
public void setSide2(double side2){
this.side2=side2;
}
public double getSide2(){
return side2;
}
public void setSide3(double side3){
this.side3=side3;
}
public double getSide3(){
return side3;
}
public double perimeter(){
return side1+side2+side3;
}
public double Area(){
double p=(side1+side2+side3)/2;
return
Math.sqrt(p*(p-side1)*(p-side2)*(p-side3));
}
}
****************************************************** package figure;
import java.math.*;
public class yuanxing {//圆形的计算函数
private double radius;
public yuanxing(){
radius=0;
}
public yuanxing(double x){
radius=x;
}
public void setRadius(double radius){
this.radius=radius;
}
public double getRadius(){
return radius;
}
public double perimeter(){
return 2*Math.PI*radius;
}
public double Area(){
return Math.PI*radius*radius;
}
}
****************************************************** package figure_show;
import figure.juxing;
import figure.sanjiaoxing;
import figure.yuanxing;
public class main {
public static void main(String[]args){
sanjiaoxing t=new sanjiaoxing(3,4,5);
System.out.println("三角形的周长:"+t.perimeter());
System.out.println("三角形的面积:"+t.Area());
juxing r=new juxing(3,4);
System.out.println("矩形的周长:"+r.perimeter());
System.out.println("矩形的面积:"+r.Area());
yuanxing c=new yuanxing(5);
System.out.println("圆形的周长;
"+c.perimeter());
System.out.println("圆形的面积:"+c.Area());
}
}
2.设计一个教师类Teacher(属于.sdkd包),要求:
1)属性有编号(int no)、姓名(String name)、
年龄(int age)、所属学院(seminary),为这
些属性设置相应的get和set方法。
2)为Teacher类重写equals方法,要求:当两个
教师对象的no相同时返回true。
3)重写Teacher类的toString方法,通过该方法
可以返回“编号为**、姓名为**、年龄为**的**
学院老师”形式的字符串。
4)由多个Teacher对象所形成的数组可以以两种
方法排序(编号由低到高排序):1)使用
Arrays.sort(Object[] a)方法;2)使用
Arrays.sort(Object[] a, Comparator c)方法。
5)再定义一个类TeacherManagement(属于cn.sd
包),提供方法search,方法可以在一组给定的
教师中,根据姓名(或年龄)返回等于指定姓名
(或年龄)的教师的字符串信息,信息格式为:
“编号为**、姓名为**、年龄为**的**学院老
师”。如果没有满足条件的教师,则返回“没有
符合条件的教师”。
6)构造main方法进行测试。
****************************************************** package .sdkd;
public class Teacher implements Comparable{
private int no;
private String name;
private int age;
private String seminary;
public Teacher(int no,String name,int age,String seminary){
this.no=no;
=name;
this.age=age;
this.seminary=seminary;
}
public void setNo(int no){
this.no=no;
}
public int getNo(){
return no;
}
public void setName(String name){