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

一、题目1:

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

二、源程序

 

package aa;//包名
import java.util.Scanner;
public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("输入矩形的长,宽,高");
        Scanner reader=new Scanner(System.in);//创建reader的对象
        JuXing jx=new JuXing();//创建矩形对象
        //进行键盘输入长宽高
        jx.l=reader.nextInt();//输入底的长
        jx.k=reader.nextInt();//输入底的宽
        int high=reader.nextInt();
        ZhuTi tt=new ZhuTi(jx.getArea(jx.l,jx.k), high);
        System.out.println("体积为"+tt.ZhuTiV());//输出体积
        System.out.println("输入新的矩形长,宽,高");
        jx.l=reader.nextInt();//修改底的长
        jx.k=reader.nextInt();//修改底的宽
        System.out.println("体积为"+tt.changeS(jx.l, jx.k)*high);//输出新体积
    }

    }

 

package aa;

public class JuXing { //创建矩形类
        static int k; //矩形宽
        static int l;//矩形长
        static int s;//矩形面积

        public static int getK() { //k的访问器
            return k;
        }

        public static void setK(int k) {
            JuXing.k= k;
        }

        public static int getL() { //l的访问器
            return l;
        }

        public static void setL(int l) {
            JuXing.l = l;
        }
        
        public  static int getArea(int width,int length){//创建方法求矩形面积    
            s=width*length;
            return s;
            }


    }
package aa;

public class ZhuTi {
    JuXing jx;//矩形对象
    public double h;//矩形高
    public double V;//矩形体积
    public double getH() {//h方法的访问器
        return h;
    }
    public void setH(int h) {//h的修改器
        this.h = h;
    }
    public double getV() {//v的访问器
        return V;
    }
    public void setV(double v) {//h的修改器
        V = v;
    }
    ZhuTi(double s,int h){
        this.h=h;
    }
    public double ZhuTiV(){ //计算体积
        V=jx.getArea(jx.k, jx.l)*h;
        return V;
    }
       public int changeS(int k,int l){ //1.换底功能方法
        int newArea=k*l;
        return newArea;
    } 
}

三、运行结果

一、题目2:

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

二、源程序

 

package cc;
import java.util.*;
public class zjm {
    /**
     * @param args
     */
    public static void main(String[] args) {//主类
        // TODO Auto-generated method stub
        Scanner reader=new Scanner(System.in);
        System.out.println("输入一个数:"); 
        int a=reader.nextInt();
        MyInteger n2=new MyInteger(a); //创建n2对象
        System.out.println("是否是奇数:"+n2.isEven());   //调用方法判断是否为偶数
        System.out.println("是否是偶数:"+n2.isOdd());  //调用方法判断是否为奇数
        System.out.println("是否是素数:"+n2.isPrime(n2));//调用方法判断是否为素数    
    }
    }

 

package cc;

public class MyInteger {//创建MyInteger类
    int value; //定义变量
    public int getValue() { //使用访问器与修改器
        return value;
    }
    public void setValue(int value) {
        this.value = value;
    }
    public MyInteger() {//无参的构造法
    }
    MyInteger(int value){//有参的构造方法
        this.value=value;
    }
    boolean isEven(){//创建方法判断是否为偶数
        if(value%2==0)return true;
        else return false; }
    boolean isOdd(){//创建方法判断是否为奇数
        if(value%2==1)return true;
        else return false;        
     }
    boolean isPrime(MyInteger i){//创建方法判断是否为素数
        for(int j=2;j<i.value;j++){
            if(i.value%j==0){
                return false;}
        }
        return true;    
    }
}

三、运行结果

 

posted @ 2019-09-22 15:41  朱佳美20194662  阅读(159)  评论(0编辑  收藏  举报