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

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

 

Rectangle.java

 

Quadrangular类封装了底面、高、体积成员变量以及带参构造方法、更换底面、求体积的实例方法
Rectangle类封装了长、宽、面积、周长成员变量以及带参构造方法、求面积、求周长的实例方法

 

 1 package javaDemo;
 2 
 3 import java.util.Scanner;
 4 
 5 /*
 6   * Quadrangular为四棱柱类,封装了底面、高、体积成员变量以及带参构造方法、更换底面、求体积的实例方法
 7  */
 8 class Quadrangular {
 9     Rectangle rec;
10     double high;
11     double volume;
12     
13     public Quadrangular(Rectangle rec,double high) {
14         this.rec=rec;
15         this.high=high;
16     }
17     
18     public double get_volume() {
19         volume=high*rec.getArea();
20         return volume;
21     }
22     
23     public void change_Rec(Rectangle rec) {
24         this.rec=rec;
25     }
26     
27 }
28 
29 /*
30  * Rectangle矩阵类封装了长、宽、面积、周长成员变量以及带参构造方法、求面积、求周长的实例方法
31  */
32 public class Rectangle {
33     double length;
34     double weight;
35     double area;
36     double perimeter;
37     
38     public Rectangle(double length,double weight) {
39         this.length=length;
40         this.weight=weight;
41     }
42     public double getArea() {
43         area=length*weight;
44         return area;
45     }
46     public double getPerimeter() {
47         perimeter=2*(length+weight);
48         return perimeter;
49     }
50     
51     public static void main(String[] args) {
52         Scanner input=new Scanner(System.in);
53         double length=0.0, weight=0.0,high=0.0;
54         
55         System.out.println("输入长、宽、高 :");
56         length=input.nextDouble();
57         weight=input.nextDouble();
58         high=input.nextDouble();
59         Rectangle rec=new Rectangle(length, weight);
60         Quadrangular qua=new Quadrangular(rec, high);
61         System.out.println("Area="+rec.getArea()+",Perimeter="+rec.getPerimeter()+",Volume="+qua.get_volume());
62         
63         System.out.println("换底,重新输入长、宽:");
64         length=input.nextDouble();
65         weight=input.nextDouble();
66         rec=new Rectangle(length,weight);
67         qua.change_Rec(rec);
68         System.out.println("Area="+rec.getArea()+",Perimeter="+rec.getPerimeter()+",Volume="+qua.get_volume());
69     }
70 }

 

 

运行结果

 

 

 

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

 

MyInteger.java

 

MyInteger类,包含一个成员变量、判断奇数偶数方法、判断是否为素数的方法

 

 1 package cn.edu.ccut.java;
 2 import org.junit.Test;
 3 
 4 public class MyInteger {
 5     /*
 6      * 私有成员变量
 7      */
 8     private int value;
 9     
10     /*
11      * 无参数构造方法
12      */
13     public MyInteger() {
14         value=0;
15     }
16     /*
17      * set方法
18      */
19     public int getValue() {
20         return value;
21     }
22     /*
23      * get方法
24      */
25     public void setValue(int value) {
26         this.value = value;
27     }
28     /*
29      * 判断是否是偶数
30      */
31     public boolean isEven(MyInteger i) {
32         boolean flag=false;
33         if((i.getValue()&1)==0)
34             flag=true;    
35         else
36             flag=false;
37         return flag;
38     }
39     /*
40      * 判断是否是奇数
41      */
42     public boolean isOdd(MyInteger i) {
43         boolean flag=false;
44         if((i.getValue()&1)==1)
45             flag=true;    
46         else
47             flag=false;
48         return flag;
49     }
50     /*
51      * 判断是否是素数
52      */
53     public boolean isPrime(MyInteger i) {
54         boolean flag=true;
55         for(int j=2;j<(i.getValue()/2);j++){
56             if((i.getValue())%j==0) {
57                 flag=false;
58                 break;
59             }
60         }
61         return flag;
62     }
63     
64     /*
65      * 测试方法
66      */
67     @Test
68     public void test() {
69         MyInteger i;
70         int[] testArray= {1,2,3,4,5,6,7,8,9,10}; //测试序列
71         /*
72          * 循环测试,尽可能多的覆盖函数
73          */
74         for(int t=0;t<testArray.length;t++) {
75             
76             i=new MyInteger();
77             
78             i.setValue(testArray[t]);
79             
80             System.out.println(i.getValue());
81             
82             if(i.isPrime(i))
83                 System.out.println("isPrime yes");
84             else
85                 System.out.println("is Prime no");
86         
87             if(i.isOdd(i))
88                 System.out.println("is Odd yes");
89             else
90                 System.out.println("is Odd no");
91         
92             if(i.isEven(i))
93                 System.out.println("is Even yes");
94             else
95                 System.out.println("is Even no");
96             
97         }
98     }
99 }

 

 

Test_MyInteger.java

 1 package cn.edu.ccut.java;
 2 
 3 import cn.edu.ccut.java.MyInteger;
 4 
 5 public class Test_MyInteger {
 6 
 7     public static void main(String[] args) {
 8         // TODO Auto-generated method stub
 9         MyInteger i;
10         int[] testArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 测试序列
11         /*
12          * 循环测试,尽可能多的覆盖函数
13          */
14         for (int t = 0; t < testArray.length; t++) {
15 
16             i = new MyInteger();
17 
18             i.setValue(testArray[t]);
19 
20             System.out.println(i.getValue());
21 
22             if (i.isPrime(i))
23                 System.out.println("isPrime yes");
24             else
25                 System.out.println("is Prime no");
26 
27             if (i.isOdd(i))
28                 System.out.println("is Odd yes");
29             else
30                 System.out.println("is Odd no");
31 
32             if (i.isEven(i))
33                 System.out.println("is Even yes");
34             else
35                 System.out.println("is Even no");
36         }
37     }
38 }

 

 

运行结果

 

转载于:https://www.cnblogs.com/liuhf/p/11563335.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值