第7次作业--访问权限、对象使用

第一题:

一、题目

  在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。

二、代码

1.Rectiangle.java

package Ninth;

public class Rectiangle {                      //Rectiangle类
    double a;                             //成员变量a
    double b;                             //成员变量b

    Rectiangle() {                          //无参构造方法
        a = 0;
        b = 0;
    }

    Rectiangle(double a, double b) {               //有参构造方法
        this.a = a;
        this.b = b;
    }

    public double getA() {                     //访问器
        return a;
    }

    public void setA(double a) {                  //修改器
        this.a = a;
    }

    public double getB() {
        return b;
    }

    public void setB(double b) {
        this.b = b;
    }

    public double getArea(double a, double b) {          //方法计算area值
        // TODO Auto-generated method stub
        double area = a * b;
        return area;
    }

}

2.Quadrangular.java

package Ninth;

public class Quadrangular {                      //类Quadrangular
    Rectiangle rec;
    double h;
    double area;

    Quadrangular() {
        h = 0;
        area = 0;
    }

    Quadrangular(double h, double area) {
        this.h = h;
        this.area = area;
    }

    public double getArea() {
        return area;
    }

    public void setArea(double area) {             //在访问器里面将area值给传递出去
        this.area = rec.getArea(rec.getA(), rec.getB());
    }

    public Rectiangle getRec() {
        return rec;
    }

    public void setRec(Rectiangle rec) {
        this.rec = rec;
    }

    public double getH() {
        return h;
    }

    public void setH(double h) {
        this.h = h;
    }

    public double getV(double area, double h) {            //方法计算体积V
        double v = area * h;
        return v;
    }

}

3.Test.java

package Ninth;

import java.util.Scanner;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Rectiangle rec = new Rectiangle();                            //创建rec的对象
        Scanner sc = new Scanner(System.in);                           //键盘输入
        System.out.println("请输入底面矩形的长:");
        double a = sc.nextDouble();
        System.out.println("请输入底面矩形的宽:");
        double b = sc.nextDouble();
        System.out.println("请输入柱体的高度:");
        double h = sc.nextDouble();
        Quadrangular qua = new Quadrangular();                          //创建qua的对象
        double area = rec.getArea(a, b);                              //通过Rectiangle的getArea方法得出area值
        System.out.println("柱体的体积是:" + qua.getV(area, h));                //通过Quadrangular的getV方法得出V值
        System.out.println("请输入新的矩形");
        System.out.println("请输入底面矩形的长:");
        double a1 = sc.nextDouble();
        System.out.println("请输入底面矩形的宽:");
        double b1 = sc.nextDouble();
        System.out.println("请输入柱体的高度:");
        double h1 = sc.nextDouble();
        double area1 = rec.getArea(a1, b1);
        System.out.println("柱体的体积是:" + qua.getV(area1, h1));
        
    }

}

三、运行结果

 

第二题:

一、题目

  设计名为MyInteger的类,它包括:int型数据域value一个构造方法,当指定int值时,创建MyInteger对象数据域value的访问器和修改器isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true在主类中创建MyInteger对象,验证MyInteger类中各方法。

二、代码

1.MyInteger.java

package Tenth;
    
public class MyInteger {                                                        //创建MyInteger类
    int value;                                                                    //成员变量value

    MyInteger() {                                                                //无参构造方法
        value = 0;
    }

    MyInteger(int value) {                                                        //有参构造方法
        this.value = value;
    }

    public int getValue() {                                                        //访问器
        return value;
    }

    public void setValue(int value) {                                            //修改器
        this.value = value;
    }

    public boolean isEven(int value) {                                            //方法求是否为偶数
        if (value % 2 == 0) {
            return true;
        } else {
            return false;
        }
    }

    public boolean isOdd(int value) {                                            //方法求是否为奇数
        if (value % 2 != 0) {
            return true;
        } else {
            return false;
        }
    }

    public boolean isPrime(int value) {                                            //方法求是否为素数
        int number = 0;
        for (int i = 2; i <= value / 2; i++) {
            if (value % i == 0) {
                number = 1;
            } else {
                number = 0;
            }
        }
        if (number == 1) {
            return false;
        }
        return true;
    }

}

2.Test.java

package Tenth;

import java.util.Scanner;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);                      //键盘输入
        System.out.println("请输入一个数:");
        int value = sc.nextInt();
        MyInteger my = new MyInteger();                         //创建my的对象
        System.out.println("是否是偶数" + my.isEven(value));
        System.out.println("是否是奇数" + my.isOdd(value));
        System.out.println("是否是素数" + my.isPrime(value));
    }
}

三、运行结果

 

posted @ 2019-09-20 20:49  薄暮JIM  阅读(143)  评论(0编辑  收藏  举报