java实验报告面向对像

一.先创建一个Point类,然后定义Trianglele类。在Trianglele类中定义三个Point的实体来表示一个三角形的三个点,再定义一个方法setTri对这三个点进行初始化,然后定义两个方法求三角形的周长、面积。在main()中创建一个三角形对象,求给定三点的三角形的周长、面积。

运行效果:

 

核心代码:

  class Point { //定义的point类//
    double x;
    double y;
    public double getX() {
        return x;
    }
    public void setX(double x) {
        this.x = x;
    }
    public double getY() {
        return y;
    }
    public void setY(double y) {
        this.y = y;
    }
    public void setTri(double a, double b) {
        x=a;
        y=b;
    }
}     

public double getMianJi(){

        double p;

        getlength();

        p = (a+b+c)/2.0;

        return Math.sqrt(p*(p-a)*(p-b)*(p-c));

    }

    public double getPerimeter(){

        return  a+b+c;

    }

}

public class Main{

    public static void main(String[] args) {

        Trianglele tri = new Trianglele();

        Point a=new Point();

        Point b=new Point();

        Point c=new Point();

        a.setTri(0,0);

        b.setTri(3,0);

        c.setTri(0,4);

        tri.setM1(a);

        tri.setM2(b);

        tri.setM3(c);

        tri.getMianJi();

        System.out.println("三角形的周长为:"+tri.getPerimeter()+"/n三角形的面积为:"+tri.getMianJi());

//获得三角形的面积并返回面积的大小s//

二:将上题的方法setTri改用构造方法实现初始化。

核心代码

   package point;

class Point{

     public int x,y;

     public Point(int a,int b){

      x=a;y=b;

     }

    }

public class Trianglele {

    public Point x1,x2,x3;

     //构造方法设置三角形的三点的位置

     public void setTri(Point a,Point b,Point c){

      x1=a;x2=b;x3=c;

     }

     //获得任意两点之间的距离并返回距离值

     public double length(Point a,Point b){

      double y;

      y=Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));

      return y;

     }

     //获得三角形的周长并返回周长值

     public double getlength(){

      double y1,y2,y3;

      y1=length(x1,x2);

      y2=length(x2,x3);

      y3=length(x1,x3);

      return y1+y2+y3;

     }

     //获得三角形的面积并返回面积的大小

     public double getMianJi(){

      double p,s;

      double y1,y2,y3;

      y1=length(x1,x2);

      y2=length(x2,x3);

      y3=length(x1,x3);

      p=(y1+y2+y3)/2;

      s=Math.sqrt(p*(p-y1)*(p-y2)*(p-y3));

      return s;

     }

    public static void main(String[] args) {

        Trianglele triangle=new Trianglele();

          //生成三个顶点

          Point a=new Point(0,0),b=new Point(0,3),c=new Point(4,0);

          //将三个点赋给三角形的顶点

          triangle.setTri(a,b,c);

          double t1,t2;

          //得到三角形的周长

          t1=triangle.getlength();

          //得到三角行的面积

          t2=triangle.getMianJi();

          //输出三角形的周长和面积

          System.out.println("三角形的周长为:"+t1+"/n三角形的面积为:"+t2);

       

    }

三.编写JAVA程序创建圆柱体类,具有求表面积和体积的功能。已知给定一个圆柱体,底面圆心p为(0,0),半径r为10,圆柱体高5,求此圆柱体的表面积和体积。运行效果

 

   核心代码

public  void shuru (double r , double h){
         this.r = r;
         this.h = h;           //创建shuru方法输入圆柱的半径和高//

public double GetS(){
    return 2 * p* r * (h+r);
  }
    public double GetV(){
    return  p * r * r * h;
  }       //定义圆柱的表面积和体积计算公式//

    

四.试声明一个类,类名为student,属性如下:

学号(no):1001

姓名(name):张小林

性别(sex):男

年龄(age):24

行为如下:

上课(HaveClass):返回值为true表示上课;返回值为false表示没上课。

睡觉(Sleep):返回值为true表示在睡觉,返回值为false表示没睡觉。

声明该类的对象(stu),并输出该对象的属性和行为的值。

运行结果为:

学号:1001

姓名:张小林

性别:男

年龄:24

sleep()=true

HaveClass()=false

运行效果:

 

核心代码:

class Student2 {           //定义student类//
    int no;
    String name;
    String sex;
    int age;                   //输入属性//

public boolean HaveClass() {
    return false;
}
public boolean Sleep() {
    return true;     //布尔类型方法判断是否睡觉或上课//

public String toString() {
        return ("学号:" + no +"\n"+ "姓名:" +
                name + "\n" + "性别:" + sex + "\n" + "年龄: " + age);

//toString方法返回所要属性//
    }
}
public class shiyan4 {
    public static void main(String[] args){
        Student2 zhangxaioling = new Student2();

//在Student2的类中开辟成员张小林的空间//


        zhangxaioling.no = 1001;
        zhangxaioling.name = "张小林";
        zhangxaioling.age = 24;
        zhangxaioling.sex = "男";

//成员特征//
        System.out.println( zhangxaioling );
        System.out.println("sleep()="+ zhangxaioling.Sleep());
        System.out.println("HavaClass()=" + zhangxaioling.HaveClass());
    }        //主函数中的成员属性//

五.定义一个表示学生信息的类Student,要求如下:

a.类Student的成员变量:

sNO 表示学号;sName表示姓名;sSex表示性别;sAge表示年龄;sJava:表示Java课程成绩。

b.类Student带参数的构造方法:

在构造方法中通过形参完成对成员变量的赋值操作。

c.类Student的方法成员:

getNo():获得学号;

getName():获得姓名;

getSex():获得性别;

getAge()获得年龄;

getJava():获得Java 课程成绩

根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。

运行效果

 

核心代码

class Student5{

//定义Student5类确定所想要的成员属性//
    int sNo;
    String sName;
    String sSex;
    int sAge;
    double sJava;
    public Student5(int sNo , String sName , String sSex ,
                    int sAge , double sJava){
        this.sNo = sNo;
        this.sName = sName;
        this.sSex = sSex;
        this.sAge = sAge;
        this.sJava = sJava;
    }



public double GetAvg(Student5 [] students){
    double sum=0;
    for(int i=0;i<students.length;i++)
    {
        sum=sum+students[i].getJava();
    }
    return sum/students.length;
}

//定义的GetAvg方法取平均值//


public double GetMax(Student5 [] students){
    double f=-1;
    for(int i=0;i< students.length;i++)
    {
        if(students[i].getJava()>f)
        {
            f=students[i].getJava();
        }
    }
    return f;
}

//定义的Getmax方法取所输出成员中java成绩的最大值//


public double GetMin(Student5 [] students){
    double F=100;
    for(int i=0;i< students.length;i++)
    {
        if(students[i].getJava()<F)
        {
            F=students[i].getJava();
        }
    }
    return F;
}

//定义的GetMin方法取所输出成员中java成绩的最小值//

六.定义一个“圆”类Circle,该圆类的数据成员包括:圆心点位置及圆的半径;方法成员有:设置圆心位置和半径的方法,获取圆心位置和半径的方法及构造方法。要求构造方法可以接收圆心位置参数,而半径使用缺省值1。编写完整的程序并创建Circle类的对象,并且分别调用各种方法,对比这些方法的执行结果。

运行效果

  

 

核心代码:

class Circle {         //设置Circle类//
    private double x;
    private double y;
    private double r = 1;

//定义圆心坐标点和半径的数值类型//
    public double getX() {
        return x;
    }
    public void setX(double x) {
        this.x = x;
    }
    public double getY() {
        return y;
    }
    public void setY(double y) {
        this.y = y;
    }
    public double getR() {
        return r;
    }
    public void setR(double r) {
        this.r = r;
    }
    public Circle(double x, double y) {
        super();
        this.x = x;
        this.y = y;
    }
}                  //定义获取和构造圆心坐标点和园半径的方法//

主函数输出

        System.out.println("半径:" + yuan.getR());
        System.out.println("圆心坐标为:(" + yuan.getX() + "," + yuan.getY() + ")");
        yuan.setX(7);
        yuan.setY(4);
        yuan.setR(5);

//用上面所构造的方法创建的新的圆心坐标点和半径//
    }

七.创建一个类,类名为StaticMethodTest,包含一个静态方法和一个实例方法,在main方法中分别调用这个两个方法进行测试。

运行效果

 

核心代码:

    public static int jingtai (){
        return  1;
    }                       //静态方法//


    public int shili(){
        return 2;
    }                      //实例方法//

主函数输出:

public class shiyan7 {
    public static void main(String[] args) {
        System.out.println("静态方法:"+StaticMethodTest.jingtai());

//直接调用静态方法输出1//
        StaticMethodTest shili=new StaticMethodTest();
        System.out.println("实例方法:"+shili.shili());

//调用实例方法输出2需要在类中赋予空间//
    }

八.创建一个Person类,在该类中用不同的访问修饰符设立不同的person属性,再创建一个PersonTest类,包括main方法,在此类中分别访问Person类中各个属性。

运行效果:

  

 

   核心代码:

class Person {                    //所创建的person类//
    public String name="TT";      //公有字符串类型的name//
    String kecheng = "java";       // 字符串类型的kecheng//
    protected String sex="男";     // 保护型的sex//
    private int age=18;           // 私有型的age//
    }

public class shiyan8 {
        public static void main(String[] args) {
            Person TT =new Person();
            System.out.println("姓名:"+TT.name);
            System.out.println("性别:"+TT.sex);
            System.out.println("课程:"+TT.kecheng);
        }
    }

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

。疯狂派大星。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值