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

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

Text类:

/** 在主类中输入长宽高并计算体积
调用Cone和Rec类的值进行柱体体积计算 **/
package
cn.edu.ccut.po; import java.util.Scanner; public class Text { public static void main(String[] args) { Rec rec1=new Rec(); Cone cone=new Cone(2,rec1); rec1.length=7; rec1.width=3; cone.height=5; double volume1=cone.getVoll(rec1); System.out.println("体积为"+volume1); Rec rec=new Rec(); double height = 0; Cone s1=new Cone(height,rec); Scanner con=new Scanner(System.in); System.out.println("请输入四棱柱的长"); rec.setLength(con.nextDouble()); System.out.println("请输入四棱柱的宽"); rec.setWidth(con.nextDouble()); System.out.println("请输入四棱柱的高"); s1.setHeight(con.nextDouble()); System.out.println("体积为"+s1.getVoll(rec)); Rec ju=new Rec(); Cone length1=new Cone(height,ju); System.out.println("换底的长"); ju.length=con.nextDouble(); System.out.println("换底的宽"); ju.width=con.nextDouble(); System.out.println("换底的高"); length1.setHeight(con.nextDouble()); System.out.println("换底之后的体积为"+length1.getVoll(ju)); } }

Cone类:

/*利用有参构造函数创建柱体的高、体积、底面积等*/
package
cn.edu.ccut.po; public class Cone { Rec rec; double height; double volume; public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } public double getVolume() { return volume; } public void setVolume(double volume) { this.volume = volume; } public Rec getRec() { return rec; } double getVoll(Rec rec){ return rec.getArea()*height; } Cone(double height,Rec rec){ this.height=height; this.rec=rec; } public void setRec(Rec rec) { this.rec = rec; } }

Rec类:

/**创建一个矩形类,定义长、宽、面积、周长等成员变量,
 定义求面积、求周长的方法,利用有参构造方法创建长宽高;**/
package cn.edu.ccut.po;
public class Rec {
 
 double length;
 double width;
 double area;
 double girth;
 public double getLength() {
  return length;
 }
 public void setLength(double length) {
  this.length = length;
 }
 public double getWidth() {
  return width;
 }
 public void setWidth(double width) {
  this.width = width;
 }
 double getGirth(){
  return girth=(length+width)*2;
 }
 double getArea(){
  return area=length*width;
 }
}

运行结果:

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

/**创建一个MyInteger类,定义number成员变量,定义成员变量的有参构造方法,
  构造方法并且有number的参数,判断为奇偶数的方法,判断素数的方法**/
package cn.edu.ccut.po;
import java.util.Scanner;
public class MyInteger {
    public static void main(String[] args) {
         Scanner input=new Scanner(System.in);
         System.out.println("请输入一个整数");
         int a=input.nextInt();
         MyInteger i=new MyInteger(a);
         System.out.println("是否是偶数"+i.isEven());
         System.out.println("是否是奇数"+i.isOdd());
         System.out.println("是否是素数"+i.isPrime(i));
}
 static int number;
 public int getNumber() {
  return number;
 }
 public void setNumber(int number) {
  this.number = number;
 }
 public MyInteger(int number) {
  this.number=number;
 }
 boolean isEven(){
  if(number%2==0) 
  return true;
  else{ 
  return false;
  }
 }
 boolean isOdd(){
  if(number%2==1) 
  return true;
  else{
   return false;
  }
 }
 static boolean isPrime(MyInteger i){
  int x=0;
  for(int j=2;j<number;j++){
   if(number%j==0){
    x++;
   }
   }
  if(x==0)
  return true;
  else return false;
 }
}

运行结果:

原文地址:https://www.cnblogs.com/lz150520/p/11568791.html