访问权限、对象使用

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

 1 package Test;
 2 public class test5 {
 3     int count;
 4     public static void main(String[] args) {
 5         // TODO Auto-generated method stub    
 6         //建立矩形的类的对象
 7         Rectangle rect = new Rectangle(2,3);
 8         double area = rect.getArea();
 9         double peri = rect.getPeri();
10         //System.out.println("矩形的面积是:"+area+"矩形的周长是:"+peri);
11         Pyramid pyr = new Pyramid(rect,4);
12         double volumn = pyr.getVolumn();
13         //System.out.println("四棱柱的体积是:"+volumn);
14         Podetium pode = new Podetium(rect,5);
15         double volumn1 = pode.getVolumn();
16         System.out.println("新柱体体积是:"+volumn1);
17     }
18 }
19 class  Rectangle{
20     //矩形的宽
21     private double width = 0.0;
22     //矩形的高
23     private double height = 0.0;
24     //矩形的面积
25     private double area = 0.0;
26     //矩形的周长
27     private double peri = 0.0;
28     Rectangle(double width,double height){
29         this.width = width;
30         this.height = height;
31     }
32     //计算矩形的面积
33     public double getArea() {
34         area = width*height;
35         return area;    
36     }
37     //计算矩形的周长
38     public double getPeri() {
39         peri = (height+width)*2;
40         return peri;    
41     }
42     public double getWidth() {
43         return width;
44     }
45     public void setWidth(double width) {
46         this.width = width;
47     }
48     public double getHeight() {
49         return height;
50     }
51     public void setHeight(double height) {
52         this.height = height;
53     }
54 }
55 class Pyramid{
56     Rectangle rect;
57     double height;
58     double volumn;
59     Pyramid(Rectangle rect,double height){
60         this.rect = rect;
61         this.height = height;
62     }
63     public double getVolumn() {
64         volumn = rect.getArea()*height;
65         return volumn;
66     }
67 }
68 class Podetium{
69     Rectangle rect;
70     double height;
71     double volumn;
72     Podetium(Rectangle rect,double height){
73         this.rect = rect;
74         this.height = height;
75     }
76     public double getArea() {
77         return rect.getHeight()*rect.getWidth();
78     }
79     public double getVolumn(){
80         volumn = getArea()*height;
81         return volumn;
82     }
83 }

 

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

 

package Test;

public class 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(){
		return value%2==0;
	}
	public Boolean isOdd() {
		return value%2==1;
	}
	public static Boolean isPrime(MyInteger i) {
		Boolean flag = false;
		for(int j = 2;j<=i.value/2;j++) {
			if(i.value%j==0) 
				flag = true;
		}
		return flag;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MyInteger myinteger = new MyInteger(7);
		if(myinteger.getValue()<1) {
			try {
				throw new MyException("素数必须都大于1");
			} catch (MyException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}		
		//判断传入的值
		else if(MyInteger.isPrime(myinteger)) {
			System.out.println(myinteger.getValue()+"不是个素数");
		}
		else{
			System.out.println(myinteger.getValue()+"是个素数");
		}
	}
}
//自定义异常
class MyException extends Exception{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	MyException(String msg){
		//将信息传给父类构造函数
		super(msg);

 

posted @ 2019-09-20 14:26  James_Harden  阅读(208)  评论(0编辑  收藏  举报