第7次作业--访问权限、对象使用
-
题目
在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
-
源程序
Rectancle.java
1 /** 2 * 1.文件功能:矩形类 求矩形面积和周长 3 * 2.成员变量:height高 width宽 area面积 perimeter周长 4 * 3.方法:height和width访问器和修改器 Area返回面积 Per返回周长 5 */ 6 class Rectancle{ 7 double height;//高 8 double width;//宽 9 double area;//面积 10 double perimeter;//周长 11 12 public double getHeight() { 13 return height; 14 } 15 public void setHeight(double height) { 16 this.height = height; 17 } 18 public double getWidth() { 19 return width; 20 } 21 public void setWidth(double width) { 22 this.width = width; 23 } 24 25 double Area() { 26 area=height*width; 27 return area; 28 } 29 double Per() { 30 perimeter = 2*(height+width); 31 return perimeter; 32 } 33 34 }
RectangularCylinder.java
1 /** 2 * 1.文件功能:矩形柱体类 计算柱体体积 3 * 2.成员变量:rec矩形对象 height高 volume体积 4 * 3.方法:height访问器修改器 setRec换底 CalVolume求体积 5 */ 6 public class RectangularCylinder { 7 Rectancle rec;//底 8 double height;//高 9 double volume;//体积 10 11 RectangularCylinder(){ 12 height = 0; 13 volume = 0; 14 } 15 16 public double getHeight() { 17 return height; 18 } 19 20 public void setHeight(double height) { 21 this.height = height; 22 } 23 24 public void setRec(Rectancle rec) { 25 this.rec =rec; 26 }//换底 27 28 double CalVolume() {s 29 volume = rec.area*height; 30 return volume; 31 }//求体积 32 }
App.java
1 /** 2 * 1.文件功能:输入长宽高求柱体体积 换底再求体积 3 * 2.变量:A_1矩形1 A_2矩形2 B柱体 4 * 3.方法:主方法 5 */ 6 import java.util.*; 7 public class App { 8 9 public static void main(String[] args) { 10 Rectancle A_1 = new Rectancle(); 11 RectangularCylinder B = new RectangularCylinder(); 12 //创建矩形 柱体对象 13 B.setRec(A_1); 14 15 Scanner in = new Scanner(System.in); 16 System.out.println("请输入矩形的宽和长"); 17 double h_1 = in.nextDouble(); 18 double w_1 = in.nextDouble(); 19 A_1.setHeight(h_1); 20 A_1.setWidth(w_1); 21 22 System.out.println("请输入柱体的高"); 23 double h_2 = in.nextDouble(); 24 B.setHeight(h_2); 25 26 A_1.Area(); 27 28 System.out.println("柱体的体积是:"+B.CalVolume()); 29 30 31 Rectancle A_2 = new Rectancle(); 32 33 System.out.println("请输入新的矩形的宽和长"); 34 double h_3 = in.nextDouble(); 35 double w_2 = in.nextDouble(); 36 A_2.setHeight(h_3); 37 A_2.setWidth(w_2); 38 39 A_2.Area(); 40 B.setRec(A_2); 41 42 System.out.println("新的柱体的体积是:"+B.CalVolume()); 43 } 44 45 }
-
运行结果

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


浙公网安备 33010602011771号