第七次作业———访问权限,对象使用

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

代码:

/**在shape包中定义一个changfangxing类,他的功能是构建一个长方形,有四个double型的成员变量 分别为长,宽,面积,周长;
 其中有访问器和修改器来修改或访问四个成员变量,并含有一个构造方法功能为为长方形长和宽赋值;两个功能方法,分别为面积方法areas负责求面积,周长方法perimeter负责求周长;
 
 */
package Shape;

public class changfangxing {
        double longs,width,area,perimeter;
        
        public double getLongs() {
            return longs;
        }
        public void setLongs(double longs) {
            this.longs = longs;
        }
        public double getWidth() {
            return width;
        }
        public void setWidth(double width) {
            this.width = width;
        }
        public double getArea() {
            return area;
        }
        public void setArea(double area) {
            this.area = area;
        }
        public double getPerimeter() {
            return perimeter;
        }
        public void setPerimeter(double perimeter) {
            this.perimeter = perimeter;
        }
        changfangxing(double longs,double width){
            this.longs=longs;
            this.width=width;
        }
        double areas() {    //创建面积的对象
            area=longs*width;
            return area;
        }
        double perime(double longs,double width) {    //创建周长的对象
            perimeter=(longs+width)*2;
            return perimeter;
        }
    }
/**在shape包中定义一个Podetium类,功能为构造一个柱体;其中含有三个成员变量,分别为高 height,体积 volume changfangxing型对象 rectangle;
 并对height变量存在访问器和修改器;类中有一个无参构造方法和一个有参构造方法,有参构造方法负责对柱体属性赋值;两个功能方法分别为changereas功能为换底,负责修改rectangle对象的长和宽;
 countvolume方法负责计算柱体的体积;
 */
package Shape;

public class Podetium {
         double height;
         double volume;
         changfangxing rectangle;
         
         public double getHeight() {
            return height;
        }
        public void setHeight(double height) {
            this.height = height;
        }
        Podetium(){
            
        }
        Podetium(double height,changfangxing rectangle){
             this.height=height;
             this.rectangle=rectangle;
             
             
         }
         public  void Changeareas(double longs,double width){
            rectangle.setLongs(longs);
            rectangle.setWidth(width);
         }
         public double Countvolume(){
             volume=height*rectangle.areas();
             return volume;
         }
}
/**在shape包中定义一个主类Test,并引用util包中的类;主类中有一个主方法入口,入口下方定义scanner类型in,用来为定义的变量longs和width以及height赋值,他们分别负责柱体的长宽高;
 * 并构建一个柱体对象b 并输出柱体变量的体积,在定义一个柱体对象c,并用换底方法换底然后输出对象c的柱体体积
 **/
package Shape;
import  java.util.*;
public class Test {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  Scanner in =new Scanner(System.in);
  System.out.println("请输入第一个");
  double longs=in.nextDouble();
  double width=in.nextDouble();
  double height=in.nextDouble();
  
  Podetium b = new Podetium(height,new changfangxing(longs,width));
        System.out.println(b.Countvolume());
     System.out.println("请输入第二个");
   Podetium c = new Podetium(height,new changfangxing(longs,width));
  double longs1=in.nextDouble();
  double width1=in.nextDouble();
  c.Changeareas(longs1, width1);

        System.out.println(c.Countvolume());

  
  
  
  
  
 }
}

运行结果:

题目2:设计名为Myinteger的类,它包括:

int型数据域value;

一个构造方法,当指定int值时,创建Myinterger对象

数据与value的访问器和修改器

isEven()方法和isOdd()方法,如果当前对象是偶数或奇数,返回true;

类方法isPrime(Myinterger i),判断制定的值是否为素数,返回true

在主类中创建Myinteger对象,验证Myinteger类中各方法;

代码:

/**在包mdzz中定义一个myinteger类,有一个int型的成员变量,value。 类中对于value变量具有访问器和修改器;类中有三个方法;
 方法1为类方法isprime 功能为判断素数返回布尔型;其余为iseven和isodd分别为判断偶数和奇数,返回值也为布尔类型;
 */
package mdzz;

public class Myinteger {
    int value;
    Myinteger(int value){
        this.value=value;
        
    }
    public int getValue() {
        return value;
    }
    public void setValue(int value) {
        this.value = value;
    }
    public  boolean isPrime(Myinteger i){
        int flag=0;
        for(int j=2;j<=i.value/2;j+=2){
            if(i.value%j==0)
                flag=1;    
        } 
        if(flag==0)
            return true;
        else return false;
        
    }
    public boolean isEven(int value){
        if(value%2==0)
            return true;
        else return false;
        
    }
    public  boolean isOdd(int value){
        if(value%2!=0)
            return true;
        else return false;
    }
}
/**在mdzz包中 定义一个主类test,并引用util包的所有类;功能运用为输入一个int型数z;之后创建一个myinteger类型的a对象,将z给a;并将myinteger中的三个方法依次测试;
 */
 
package mdzz;
import java.util.*;
public class Test {
    public static void main(String[] args){
    Scanner x=new Scanner(System.in);
    System.out.println("请输入测试的数:");
    int z=x.nextInt();
    Myinteger a=new Myinteger(z);
    System.out.println(a.isPrime(a));
    System.out.println(a.isEven( z));
    System.out.println(a.isOdd(z));

}
}

运行结果:

猜你喜欢

转载自www.cnblogs.com/sdw98/p/11553116.html