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

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

package Demo;

import java.util.Scanner;

public class demo16 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner reader = new Scanner(System.in);
        double volumn = 0.0;
        System.out.println("请输入长宽高");
        double width = reader.nextInt();
        double length = reader.nextInt();
        double height = reader.nextInt();
        Rect rect = new Rect(width,length);
        Pode pode = new Pode(rect,height);
        volumn = pode.getVolumn();
        System.out.println("新圆柱体的体积是:"+volumn);
    }
}
class  Rect{
    //原来矩形的宽
    private double width = 0.0;
    //原来矩形的高
    private double length = 0.0;
    //原来矩形的面积
    private double area = 0.0;
    //原来矩形的周长
    private double peri = 0.0;
    Rect(double width,double height){
        this.width = width;
        this.length = height;
    }
    //计算矩形的面积
    public double getArea() {
        area = width*length;
        return area;    
    }
    //计算矩形的周长
    public double getPeri() {
        peri = (length+width)*2;
        return peri;    
    }
    //返回矩形的宽
    public double getWidth() {
        return width;
    }
    //设置矩形的宽
    public void setWidth(double width) {
        this.width = width;
    }
    //返回矩形的长
    public double getLength() {
        return length;
    }
    //设置矩形的长
    public void setLength(double length) {
        this.length = length;
    }
}
class Pode{
    //设置矩形的对象
    Rect rect;
    double height;
    double volumn;
    //通过构造方法来传入矩形的对象和高
    Pode(Rect rect,double height){
        this.rect = rect;
        this.height = height;
    }
    //计算新柱体的体积
    public double getVolumn(){
        double length = rect.getLength();
        double width = rect.getWidth();
        if(length<=0||width<=0||height<=0)
            throw new MException("柱体的长宽高不能小于0");
        volumn = width*height*length;
        return volumn;
    }
}
class MException extends RuntimeException{
    MException(String str){
        super(str);
    }
}

 

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

张迪 20:29:55
package cx;

public class MyInteger {//创建类
	int value;//int型数据域
	MyInteger(){//创建对象
		
	}
	public int getValue() {//访问器
		return value;
	}
	public void setValue(int value) {//修改器
		this.value = value;
	}
	boolean isEven(){//判断是否是偶数
		return value%2==0;
	}
	boolean isOdd(){//判断是否是奇数
		return value%2!=0;
	}
	static void isPrime(MyInteger i) {//类方法判断素数
		 for(int a=2;a<i.value;a++) {
			 if(i.value%a==0) {
				 System.out.println("是否是素数"+false);
				 break;
			 }else {
				 System.out.println("是否是素数"+true);
				 break;
			 }
		 }
	}
}

张迪 20:30:05
package cx;

import java.util.Scanner;

import cx.MyInteger;

public class AA {

	private static final MyInteger i = null;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner reader =new Scanner(System.in);
		int value=reader.nextInt();//键盘输入
		MyInteger x=new MyInteger();//创建对象
		x.setValue(value);//引用方法
		System.out.println("用户输入是否是偶数"+x.isEven());//打印
		System.out.println("用户输入是否是奇数"+x.isOdd());
		x.isPrime(x);//引用方法
	}

}

  

posted on 2019-09-22 20:47  张九川  阅读(113)  评论(0编辑  收藏  举报

导航