第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 }
运行: