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

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

代码:

 1 /* 定义一个矩形类,具有长、宽、面积、周长共四个成员变量,计算面积和计算周长的两个方法*/
 2 
 3 public class Shape {
 4     double a;
 5     double b;
 6     double C;
 7     double area;
 8     double getC() 
 9     {
10         return C=(a+b)*2;
11     }
12     double getArea()
13     {
14         return area = a*b;
15     }
16     public double getA() {
17         return a;
18     }
19     public void setA(double a) {
20         this.a = a;
21     }
22     public double getB() {
23         return b;
24     }
25     public void setB(double b) {
26         this.b = b;
27     }
28 
29 }
 1 /*创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法*/
 2 public class Zhu {
 3     Shape s;
 4     double h;
 5     double v;
 6     public Zhu(double h, Shape s)
 7     {
 8         this.h =h;
 9         this.s=s;
10         
11     }
12     public double getV() {
13         return s.getArea()*h;
14     }
15     public void setS(Shape s) {
16         this.s = s;
17     }
18     
19 
20 }
 1 /*在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积*/
 2 import java.util.Scanner;
 3 public class One {
 4 
 5     /**
 6      * @param args
 7      */
 8     public static void main(String[] args) {
 9         // TODO Auto-generated method stub
10         Scanner reader =new Scanner(System.in);
11         Shape s= new Shape();
12         System.out.println("请输入长和宽");
13         s.setA(reader.nextDouble());
14         s.setB(reader.nextDouble());
15         System.out.println("请输入高");
16         Zhu z =new Zhu(reader.nextDouble(),s);
17         System.out.println("体积是"+z.getV());
18         System.out.println("请输入长和宽");
19         s.setA(reader.nextDouble());
20         s.setB(reader.nextDouble());
21         z.setS(s);
22         System.out.println("体积是"+z.getV());
23 
24     }
25 
26 }

运行:

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

代码:

 1 /*设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,
 2  * 创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前
 3  * 对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true
 4  */
 5 public class MyInteger {
 6      int value;  //成员变量
 7 
 8     public int getValue() {  
 9         return value;
10     }
11 
12     public void setValue(int value) {
13         this.value = value;
14     }
15     
16     public boolean isEven(int value) { //判断是否为偶数
17         if(value % 2 ==0) {
18             return true;
19         }
20         else {
21             return false;
22         }
23         
24     }
25     
26     public boolean isOdd(int value) { //判断是否为奇数
27         if(value % 2 ==1) {
28             return true;
29         }
30         else {
31             return false;
32         }
33         
34     }
35     
36     public boolean isPrime(int value) {  //判断是否为素数
37         for(int i = 2; i < value; i++) {
38             if(value % i ==0)
39                 return false;
40         }
41         return true;
42     }
43     
44 }
 1 /*在主类中创建MyInteger对象,验证MyInteger类中各方法*/
 2 import java.util.*;
 3 
 4 public class Test {
 5 
 6     public static void main(String[] args) {
 7         System.out.println("请输入数值");
 8         Scanner reader = new Scanner(System.in);
 9         MyInteger m =  new MyInteger();
10         int count = reader.nextInt();
11         System.out.println("是否为偶数"+ m.isEven(count));
12 
13         System.out.println("是否为奇数" +m.isOdd(count));
14         
15         System.out.println("是否为质数" +m.isPrime(count));    
16     }
17 
18 }

运行:

posted @ 2019-09-22 17:53  When?  阅读(113)  评论(0编辑  收藏  举报