访问权限、对象使用总结作业

一、题目1

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

二、代码

Test.java

/**
 * Test.java文件包含了Juxing类、SiLengZhu类和Test类
 * Juxing类中包含私有成员变量a,b、构造方法和求面积方法
 * SiLengZhu类中包含成员变量h,v、矩形类对象ju、构造方法、求体积的getV方法和成员变量修改器
 * Test类中先创建一个四棱柱类的对象s,并赋值,求出结果
 * 之后再用修改器修改成员变量的值,并输出新的结果
 */

package Lianxi;

import java.util.Scanner;

 class Juxing {            //矩形类
    private double a;    //定义私有成员变量
    private double b;
    
    Juxing(double a,double b){//构造方法
        this.a=a;
        this.b=b;
    }
    double getArea(){//求矩形面积的方法
        return a*b;
    }
    
}
 class SiLengZhu{//四棱柱类
     Juxing ju;
     double h;
     double v;
     
     public double getH() { //成员变量的修改器和访问器
        return h;
    }
    public void setH(double h) {
        this.h = h;
    }
    
    public Juxing getJu() {
        return ju;
    }
    public void setJu(Juxing ju) {
        this.ju = ju;
    }
    SiLengZhu(double h,Juxing ju){ //构造方法
         this.h=h;
         this.ju=ju;
     }
     double getV(){//求体积的方法
         
         return ju.getArea()*h;
     }
 }
public class Test{
    public static void main(String[] args) {
        SiLengZhu s=new SiLengZhu(5,new Juxing(2, 3));//创建对象并赋值
        System.out.println("四棱柱的体积是:"+s.getV()); //输出结果
        s.setH(10);                                    //修改器修改高
        s.setJu(new Juxing(4,5));                    //修改器修改长和宽
        System.out.println("四棱柱的体积是:"+s.getV());//输出结果
    }
    
}

三、运行结果

 

 

 

一、题目2

  设计名为MyInteger的类,它包括:

  • int型数据域value
  • 一个构造方法,当指定int值时,创建MyInteger对象
  • 数据域value的访问器和修改器
  • isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true
  • 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true

  在主类中创建MyInteger对象,验证MyInteger类中各方法。

二、代码

Test.java

/**
 * Test.java文件中包含MyInteger类和Test类
 * MyIteger类中包含成员变量value、构造方法、修改器和访问器、isOdd方法、isEven方法、isPrime方法
 * 构造方法中将参数值赋给成员变量,isOdd方法判断是否为偶数,isEven方法判断是否为奇数,isPrime方法判断是否为素数
 * 主方法中创建MyInteger对象,依次调用MyInteger类中各方法并输出结果
 */
package a;

import java.util.Scanner;

class MyInteger{                //创建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 m) {//判断是都为素数的方法
            for (int i = 2; i <= value / 2; i++) {
                if (value % i == 0)
                    return false;
            }
            return true;
        }

}
public class Test {                        
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        System.out.println("请输入一个数:");
        int a=reader.nextInt();
        MyInteger m=new MyInteger(a); //创建对象
        System.out.println("value是否为偶数:"+m.isEven()); //调用方法,输出结果
        System.out.println("value是否为奇数:"+m.isOdd());
        System.out.println("value是否为素数:"+m.isPrime(m));

    }

}

 三、运行结果

 

posted @ 2019-09-19 21:03  魏一人  阅读(199)  评论(0编辑  收藏  举报