第7次作业--访问权限、对象使用
第一题:
一、题目
在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
二、代码
1.Rectiangle.java
package Ninth; public class Rectiangle { //Rectiangle类 double a; //成员变量a double b; //成员变量b Rectiangle() { //无参构造方法 a = 0; b = 0; } Rectiangle(double a, double b) { //有参构造方法 this.a = a; this.b = b; } public double getA() { //访问器 return a; } public void setA(double a) { //修改器 this.a = a; } public double getB() { return b; } public void setB(double b) { this.b = b; } public double getArea(double a, double b) { //方法计算area值 // TODO Auto-generated method stub double area = a * b; return area; } }
2.Quadrangular.java
package Ninth; public class Quadrangular { //类Quadrangular Rectiangle rec; double h; double area; Quadrangular() { h = 0; area = 0; } Quadrangular(double h, double area) { this.h = h; this.area = area; } public double getArea() { return area; } public void setArea(double area) { //在访问器里面将area值给传递出去 this.area = rec.getArea(rec.getA(), rec.getB()); } public Rectiangle getRec() { return rec; } public void setRec(Rectiangle rec) { this.rec = rec; } public double getH() { return h; } public void setH(double h) { this.h = h; } public double getV(double area, double h) { //方法计算体积V double v = area * h; return v; } }
3.Test.java
package Ninth; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Rectiangle rec = new Rectiangle(); //创建rec的对象 Scanner sc = new Scanner(System.in); //键盘输入 System.out.println("请输入底面矩形的长:"); double a = sc.nextDouble(); System.out.println("请输入底面矩形的宽:"); double b = sc.nextDouble(); System.out.println("请输入柱体的高度:"); double h = sc.nextDouble(); Quadrangular qua = new Quadrangular(); //创建qua的对象 double area = rec.getArea(a, b); //通过Rectiangle的getArea方法得出area值 System.out.println("柱体的体积是:" + qua.getV(area, h)); //通过Quadrangular的getV方法得出V值 System.out.println("请输入新的矩形"); System.out.println("请输入底面矩形的长:"); double a1 = sc.nextDouble(); System.out.println("请输入底面矩形的宽:"); double b1 = sc.nextDouble(); System.out.println("请输入柱体的高度:"); double h1 = sc.nextDouble(); double area1 = rec.getArea(a1, b1); System.out.println("柱体的体积是:" + qua.getV(area1, h1)); } }
三、运行结果
第二题:
一、题目
设计名为MyInteger的类,它包括:int型数据域value一个构造方法,当指定int值时,创建MyInteger对象数据域value的访问器和修改器isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true在主类中创建MyInteger对象,验证MyInteger类中各方法。
二、代码
1.MyInteger.java
package Tenth; public class MyInteger { //创建MyInteger类 int value; //成员变量value MyInteger() { //无参构造方法 value = 0; } MyInteger(int value) { //有参构造方法 this.value = value; } public int getValue() { //访问器 return value; } public void setValue(int value) { //修改器 this.value = value; } 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; } } public boolean isPrime(int value) { //方法求是否为素数 int number = 0; for (int i = 2; i <= value / 2; i++) { if (value % i == 0) { number = 1; } else { number = 0; } } if (number == 1) { return false; } return true; } }
2.Test.java
package Tenth; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); //键盘输入 System.out.println("请输入一个数:"); int value = sc.nextInt(); MyInteger my = new MyInteger(); //创建my的对象 System.out.println("是否是偶数" + my.isEven(value)); System.out.println("是否是奇数" + my.isOdd(value)); System.out.println("是否是素数" + my.isPrime(value)); } }
三、运行结果