题目1:在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
Rectangle.java
Quadrangular类封装了底面、高、体积成员变量以及带参构造方法、更换底面、求体积的实例方法
Rectangle类封装了长、宽、面积、周长成员变量以及带参构造方法、求面积、求周长的实例方法
1 package javaDemo; 2 3 import java.util.Scanner; 4 5 /* 6 * Quadrangular为四棱柱类,封装了底面、高、体积成员变量以及带参构造方法、更换底面、求体积的实例方法 7 */ 8 class Quadrangular { 9 Rectangle rec; 10 double high; 11 double volume; 12 13 public Quadrangular(Rectangle rec,double high) { 14 this.rec=rec; 15 this.high=high; 16 } 17 18 public double get_volume() { 19 volume=high*rec.getArea(); 20 return volume; 21 } 22 23 public void change_Rec(Rectangle rec) { 24 this.rec=rec; 25 } 26 27 } 28 29 /* 30 * Rectangle矩阵类封装了长、宽、面积、周长成员变量以及带参构造方法、求面积、求周长的实例方法 31 */ 32 public class Rectangle { 33 double length; 34 double weight; 35 double area; 36 double perimeter; 37 38 public Rectangle(double length,double weight) { 39 this.length=length; 40 this.weight=weight; 41 } 42 public double getArea() { 43 area=length*weight; 44 return area; 45 } 46 public double getPerimeter() { 47 perimeter=2*(length+weight); 48 return perimeter; 49 } 50 51 public static void main(String[] args) { 52 Scanner input=new Scanner(System.in); 53 double length=0.0, weight=0.0,high=0.0; 54 55 System.out.println("输入长、宽、高 :"); 56 length=input.nextDouble(); 57 weight=input.nextDouble(); 58 high=input.nextDouble(); 59 Rectangle rec=new Rectangle(length, weight); 60 Quadrangular qua=new Quadrangular(rec, high); 61 System.out.println("Area="+rec.getArea()+",Perimeter="+rec.getPerimeter()+",Volume="+qua.get_volume()); 62 63 System.out.println("换底,重新输入长、宽:"); 64 length=input.nextDouble(); 65 weight=input.nextDouble(); 66 rec=new Rectangle(length,weight); 67 qua.change_Rec(rec); 68 System.out.println("Area="+rec.getArea()+",Perimeter="+rec.getPerimeter()+",Volume="+qua.get_volume()); 69 } 70 }
运行结果
题目2:设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
MyInteger.java
MyInteger类,包含一个成员变量、判断奇数偶数方法、判断是否为素数的方法
1 package cn.edu.ccut.java; 2 import org.junit.Test; 3 4 public class MyInteger { 5 /* 6 * 私有成员变量 7 */ 8 private int value; 9 10 /* 11 * 无参数构造方法 12 */ 13 public MyInteger() { 14 value=0; 15 } 16 /* 17 * set方法 18 */ 19 public int getValue() { 20 return value; 21 } 22 /* 23 * get方法 24 */ 25 public void setValue(int value) { 26 this.value = value; 27 } 28 /* 29 * 判断是否是偶数 30 */ 31 public boolean isEven(MyInteger i) { 32 boolean flag=false; 33 if((i.getValue()&1)==0) 34 flag=true; 35 else 36 flag=false; 37 return flag; 38 } 39 /* 40 * 判断是否是奇数 41 */ 42 public boolean isOdd(MyInteger i) { 43 boolean flag=false; 44 if((i.getValue()&1)==1) 45 flag=true; 46 else 47 flag=false; 48 return flag; 49 } 50 /* 51 * 判断是否是素数 52 */ 53 public boolean isPrime(MyInteger i) { 54 boolean flag=true; 55 for(int j=2;j<(i.getValue()/2);j++){ 56 if((i.getValue())%j==0) { 57 flag=false; 58 break; 59 } 60 } 61 return flag; 62 } 63 64 /* 65 * 测试方法 66 */ 67 @Test 68 public void test() { 69 MyInteger i; 70 int[] testArray= {1,2,3,4,5,6,7,8,9,10}; //测试序列 71 /* 72 * 循环测试,尽可能多的覆盖函数 73 */ 74 for(int t=0;t<testArray.length;t++) { 75 76 i=new MyInteger(); 77 78 i.setValue(testArray[t]); 79 80 System.out.println(i.getValue()); 81 82 if(i.isPrime(i)) 83 System.out.println("isPrime yes"); 84 else 85 System.out.println("is Prime no"); 86 87 if(i.isOdd(i)) 88 System.out.println("is Odd yes"); 89 else 90 System.out.println("is Odd no"); 91 92 if(i.isEven(i)) 93 System.out.println("is Even yes"); 94 else 95 System.out.println("is Even no"); 96 97 } 98 } 99 }
Test_MyInteger.java
1 package cn.edu.ccut.java; 2 3 import cn.edu.ccut.java.MyInteger; 4 5 public class Test_MyInteger { 6 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 MyInteger i; 10 int[] testArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 测试序列 11 /* 12 * 循环测试,尽可能多的覆盖函数 13 */ 14 for (int t = 0; t < testArray.length; t++) { 15 16 i = new MyInteger(); 17 18 i.setValue(testArray[t]); 19 20 System.out.println(i.getValue()); 21 22 if (i.isPrime(i)) 23 System.out.println("isPrime yes"); 24 else 25 System.out.println("is Prime no"); 26 27 if (i.isOdd(i)) 28 System.out.println("is Odd yes"); 29 else 30 System.out.println("is Odd no"); 31 32 if (i.isEven(i)) 33 System.out.println("is Even yes"); 34 else 35 System.out.println("is Even no"); 36 } 37 } 38 }
运行结果