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

一、题目一     

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

二、源代码

R.java

class R { // 创建矩行类
    int longs, width, area, zhouchang;//变量longs, width, area, zhouchang

    int areas(int longs, int width) { // 创建面积的方法
        area = longs * width;//面积=长*宽
        return area;//返回面积值
    }

    int perime(int longs, int width) { // 创建周长的方法
        zhouchang = (longs + width) * 2;//周长=(长+宽)*2
        return zhouchang;//返回周长
    }
}

TiJi.java

public class Tiji {//创建一个TiJi类
    R A = new R();//创建R类的A对象
    int height;//一个height变量

    public void setheight(int height) {//对高进行初始化
        this.height = height;
    }

    public int getheight() {//访问器
        return height;
    }

    int getV(int area, int height) {//计算体积
        int V = area * height;
        return V;
    }

}

 

yi.java

import java.util.*;

public class yi {//创建一个yi类
    public static void main(String[] args) {//主方法
        Scanner reader = new Scanner(System.in);//创建一个接受键盘输入的对象reader;然后用一个类型的变量接收reader.方法(),可以从键盘给程序变量赋值
        System.out.println("请输入矩阵的长、宽、高:");//输出“请输入矩阵的长、宽、高:”
        int x = reader.nextInt();//输入长
        int y = reader.nextInt();//输入宽
        int h = reader.nextInt();//输入高
        R ju = new R();//创建R类的ju对象
        Tiji tj = new Tiji();//创建TiJi类的tj对象
        System.out.println("该矩形的周长:" + ju.perime(x, y));//输出“该矩形的周长:”
        
        System.out.println("该矩形的体积为" + tj.getV(ju.areas(x, y), h));//输出“该矩形的体积为”
        System.out.println("换底面积");//输出“换底面积”
        int x1 = reader.nextInt();//输入新的长
        int y1 = reader.nextInt();//输入新的宽
        int h1 = reader.nextInt();//输入新的高
        System.out.println("该矩形的周长:" + ju.perime(x1, y1));//输出“该矩形的周长:”
        
        System.out.println("该矩形的体积为" + tj.getV(ju.areas(x1, y1), h1));//输出“该矩形的体积为”
    }
}

 

三、运行结果

一、题目二

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

源代码:

Main.java

import java.util.Scanner;//引入java中util包下的Scanner类

public class Main {//创建一个Main类

    
    public static void main(String[] args) {//主方法
        

        MyInteger my = new MyInteger();//
        System.out.println("请输入一个数");//输出“请输入一个数”
        Scanner sc = new Scanner(System.in);//为对象sc开辟一块新的内存空间并创建对象为Scanner类
        int x = sc.nextInt();
        my.setValue(x);
        System.out.println("这个数是偶数 " + my.isEven(x));//输出“这个数是偶数 ”
        System.out.println("这个数是奇数 " + my.isOdd(x));//输出“这个数是奇数”
        System.out.println("这个数是素数 " + my.isPrime(my));//输出“这个数是素数 ”

    }

}

MyInteger.java

public class MyInteger {//创建一个MyInteger类
    int value;          //成员变量value

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

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

    boolean isEven(int n) {//构建方法看输入的数是否为偶数
        if (value % 2 == 0)
            return true;
        else
            return false;
    }

    boolean isOdd(int n) {//构建方法看输入的数是否为奇数
        if (value % 2 == 0)
            return false;
        else
            return true;
    }

    boolean isPrime(MyInteger i) {//构建方法看输入的数是否为素数
        int my;
        for (my = 2; my < i.value; my++) {
            if (i.value % my == 0) {
                return false;
            }
        }
        return true;
    }

}

运行结果:

      

posted @ 2019-09-22 20:28  随风而逝1996  阅读(191)  评论(0)    收藏  举报