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

一、题目1

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

二、源代码

1.Rect.java

/**定义矩形长
 * double b;//矩形宽
 * double area;//矩形面积
 * 求面积的方法
*/
package com;
public class Rect {
    double a;//矩形长
    double b;//矩形宽
    double area;//矩形面积
    double length;//矩形周长
    double rearea(double a,double b){
        area=a*b;
        return area;
    }
    double relength(double a,double b){
        length=2*a+2*b;
        return length;
    }
}

 2.Cylinder.java

/** 定义柱体高h 和体积v、矩形对象Rect r
 *  柱体高h的访问器和修改器
 *  一个有参的构造方法 
 *  一个计柱体体积的方法 
 *  修改矩形的长和宽的方法
*/
package com;
public class Cylinder {//柱体类Cylinder
    double h;//
    double V;//体积
    Rect r;//矩形对象
    public double getH() {//访问器
        return h;
    }
    public void setH(double h) {//修改器
        this.h = h;
    }
    Cylinder(Rect r,Double h){//有参的构造方法
        this.r=r;
        this.h=h;
    }
    void countV(Rect r){//计算体积
        V=h*r.rearea(r.a, r.b);
        System.out.print("柱体的体积是"+V);
        
    }
    void charea(double a,double b){//修改底矩形的长和宽
        this.r.a=a;
        this.r.b=b;
    }
}

3.Test.java

/**在主类中键盘输入长、宽、高,计算柱体体积
 * 键盘输入修改的长、宽、高,创建新的矩形对象,再次计算柱体体积。
*/
package com;
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);
        Rect r=new Rect();
        System.out.println("请输入矩形的长:");
        r.a=sc.nextDouble();
        System.out.println("请输入矩形的宽:");
        r.b=sc.nextDouble();
        System.out.println("请输入柱体的高:");
        double h=sc.nextDouble();
        Cylinder cyl=new Cylinder(r,h);
        cyl.countV(r);//计算底面积的方法
        System.out.println();
        System.out.println("修改矩形的长:");
        double a=sc.nextDouble();
        System.out.println("修改矩形的宽:");
        double b=sc.nextDouble();
        cyl.charea(a, b);//修改矩形的长和宽
        System.out.println("修改柱体的高:");
        cyl.setH(sc.nextDouble());//修改柱体高
        cyl.countV(r);
                
    }

}

三、运行结果

 

 一、题目2

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

二、源代码

1.MyInteger.java

/** MyIteger类中包含成员变量value、构造方法、修改器和访问器、isOdd方法、isEven方法、isPrime方法
 * isOdd方法判断是否为偶数,isEven方法判断是否为奇数,isPrime方法判断是否为素数
 */
package cn;

public class MyInteger {
    int value;
     public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }

    MyInteger(int value){//创建构造方法
         this.value=value;
     }
    public boolean isEven() { //判断是否为偶数的方法
        if(value%2==0)
           return true;
       return false;
       }
    
    public boolean isOdd() { //判断是否为奇数的方法
        if(value % 2 != 0)
            return true;
        return false;
       }
    public boolean isPrime(MyInteger i) {//判断是都为素数的方法
           for (int j=2;j<=value/2;j++) {
               if (value%j==0)
                   return false;
           }
           return true;
       }
     
}

2.Test.java

/** 
 * 主方法中创建MyInteger对象,依次调用MyInteger类中各方法并输出结果
 */
package cn;
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 m=new MyInteger(value);//创建MyInteger对象
        System.out.println(value+"是否为偶数:"+m.isEven()); //调用判断是否为偶数的方法
        System.out.println(value+"是否为奇数:"+m.isOdd());//调用判断是否为奇数的方法
        System.out.println(value+"是否为素数:"+m.isPrime(m));//调用判断是否为素数的方法
    }

}

三、运行结果

 

posted @ 2019-09-21 17:05  姓荆的荆  阅读(164)  评论(0编辑  收藏  举报