首页 > 技术文章 > 第7次作业--访问权限、对象使用

zyg777 2019-09-22 22:21 原文

题目1:

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

 

1.实现:

Zhuti.java文件:

 

/**
 * 1.Zhuti.java文件包含一个主类Zhuti,一个主方法main,三个对象Rec a,Rec2 b Rec c。
 * 2.对象a,b用来给长宽赋值,对像c用来给高赋值,方法Volume用来求体积。
 * 3.Rec创建对象a并开辟空间...分别给对象ab通过输入赋值,调用方法Volume求得体积,创建对象c,输入并赋值新的长和宽,
 * 调用方法setRec并传参,通过Volume求得新的体积。
 * */
package zt;//创建包
import java.util.Scanner;
public class Zhuti {  //创建主类Zhuti

    public static void main(String[] args) { //主方法
        // TODO Auto-generated method stub
        Rec a = new Rec();  //用Rec创建对象a
        Rec2 b = new Rec2();  //用Rec2创建对象b
        b.setRec(a);//给柱体换底
        Scanner in = new Scanner(System.in);
        System.out.println("请输入长宽高:");//提示
        a.leng = in.nextDouble();//赋值
        a.width = in.nextDouble();//赋值
        b.height = in.nextDouble();//赋值高
        System.out.println("体积是:"+b.Volume());//调用求得体积
        Rec c = new Rec();//创建一个对象c
        System.out.println("请输入新的长和宽:");
        c.leng = in.nextDouble();//赋值长
        c.width = in.nextDouble();//赋值宽
        b.setRec(c);//调用方法传参
        System.out.println("新的体积是:"+b.Volume());//调用Volume方法求得新的体积
    }

}

Rec.java文件:

 

/**
 * 1.一个主类,一个方法
 * 2.主类里有成员变量 leng width,方法里有求底面积公式
 * 3.方法Area,通过长乘以宽求得底面积,并通过return返回体积值。
 * */
package zt;

public class Rec {//创建主类Rec
    
    double leng;//变量chang
    double width;//变量宽
    double Area() {//创建方法
        return leng*width;//求底面积并返回结果
    }

}

Rec2.java文件:

 

/**
 * 1.一个主类Rec2,一个无参方法Rec2,一个主方法SetRec,体积方法Volume
 * 2.主类里有成员变量 高 和体积,一个Rec对象x,方法Rec2 给高和底面积赋初值0。
 * 3.主方法,通过局部变量rec给对象x赋值,方法Volume通过对象x 的长宽高相乘求得体积并返回值。
 * */
package zt;

public class Rec2 {//创建主类
    Rec x;//创建对象x
    double height;//定义变量高
    double volume;//定义变量
    
    Rec2(){//创建方法
        height = 0;//赋初值
        volume = 0;//赋初值
    }

    public void setRec(Rec rec) {//创建主方法
        this.x =rec;//给对象x赋值
    }
    
    double Volume() {//创建计算体积的方法
        return (x.leng*x.width*height);//求得体积
}
}

2.运行结果:

 

 

题目2:

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

1.实现

MyInteger,java文件:

 

/**
 * 1.一个包jiousu,一个主类MyInteger,四个方法。
 * 2.主类里成员变量value,方法MyInteger,给value赋初值,isEven方法判断偶数
 * isOdd判断奇数,isPrime判断素数
 * 3.isEven方法判断偶数,通过求余2余数为0,isOdd判断奇数求余2余数为1,isPrime判断素数通过For,
 * 先把value除2,然后循环看它是否会被除尽。
 * */
package jiousu;//创建包

public class MyInteger {//主类MyInteger
    int value;
    MyInteger(){
        value = 0;//成员变量赋初值
    }
    boolean isEven() {//创建方法
        if(value%2 == 0)//判断是否是偶数
            return true;
        else
            return false;
    }
    boolean isOdd() {//创建方法
        if(value%2 == 1)//判断是不是奇数
            return true;
        else
            return false;
    }
    static boolean isPrime(MyInteger i) {//创建方法
        for(int x=2;x<i.value/2;x++) {//判断是否为素数
            if(i.value%x == 0) {
                return false;
            }    
        }
        return true;
    }
}

 

jos.java源文件:

 

 

/**
 * 1.主类jos,主方法main,对象i
 * 2.用MyInteger创建一个对象i,主方法里变量value,
 * 3.通过用户输入给value赋值,最后输出时分别调用,三个求偶数,奇数,素数的方法并返回结果值输出。
 * */
package jiousu;//
import java.util.*;
public class Jos {//主类
    public static void main(String[] args) {//主方法
        MyInteger i = new MyInteger();
        System.out.println("请输入一个数:");
        Scanner in = new Scanner(System.in);
        i.value = in.nextInt();;
        System.out.println("这个数是偶数:"+i.isEven());//调用偶数方法
        System.out.println("这个数是奇数:"+i.isOdd());//调用奇数方法
        System.out.println("这个数是素数:"+i.isPrime(i));//调用素数方法
    }
}

 

2.运行结果:

 

 

推荐阅读