第7次作业--访问权限、对象使用
1.题目一:在作业5的基础上,在创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高、计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
源程序:
1.New.java
package 啦啦啦;//创建一个包
import java.util.*;//导入整个包
public class New {
public static void main(String[] args) {//创建一个主函数
Scanner reader=new Scanner(System.in);//利用scanner类创建对象
System.out.println("请输入四棱柱的高以及矩形的长和宽");//输出语句
Leng zhu=new Leng(reader.nextInt(),new Rectangle(reader.nextInt(),reader.nextInt()));
//从键盘获取四棱柱的高以及矩形对象的长和宽
System.out.println(zhu.getVolume());
//输出四棱柱的体积
}
}
2.Leng.java
在Leng类中创建了三个成员变量分别是高、体积、矩形对象
创建了一个Leng的构造方法并对成员变量初始化
package 啦啦啦;
public class Leng {
double height;
double volumne;
Rectangle rect;//创建三个成员变量
Leng(double height,Rectangle rect){
this.height=height;
this.rect=rect;
}//创建一个构造方法,对成员变量初始化
double getVolume(){
return height*rect.getArea();
}//计算柱体体积
}
3.Rectangle.java
在此类中求矩形的面积,且在Leng.java中调用矩形对象面积求柱体的体积
package 啦啦啦;
public class Rectangle {//创建一个名为Rectangle的类
private double a;
private double b;//创建了两个私有的成员变量a、b,分别代表长和宽
Rectangle(double a,double b){
this.a=a;
this.b=b;
}//对长和宽赋值
double getArea(){
return a*b;
}//求矩形的面积
}
1.题目二:设计名为MyInteger的类,他包括:
int型数据域value
一个构造方法,当指定int值时,创建MyInteger对象
数据域value的访问器和修改器
isEven()和isOdd()方法,如果当前对象是偶数或奇数,返回true
类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true,在主类中创建MyInteger对象,验证MyInteger类中的各方法。
(1)Demo.java
package 啦啦啦1;
import 啦啦啦.MyInteger;//导入啦啦啦包下MyInteger类的所有内容
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("请输入一个数");
int value=reader.nextInt();
MyInteger m = new MyInteger(value);//创建MyInteger对象
System.out.println("是否是偶数"+m.isEven());//输出这个数是否是偶数
System.out.println("是否是奇数"+m.isOdd());//输出这个数是否是奇数
System.out.println("是否是素数"+m.isPrime(value));//输出这个数是否是素数
}
}
(2)MyInteger.java
package 啦啦啦;//创建一个包 public class MyInteger {//创建一个名为MyInteger的类 public int value;//定义一个int型数据域value public int MyInteger(){ return value; }//创建一个构造方法 public MyInteger(int value){ this.value=value; }//指定int值 public int getValue() { return value; } //创建一个数据域value的访问器 public void setValue(int value) { this.value = value; } //创建一个数据域value的修改器 public boolean isEven(){ if(value%2==0) return true; else return false; } //判断这个数是否是偶数 public boolean isOdd(){ if(value%2!=0) return true; else return false; } //判断这个数是否是奇数 public boolean isPrime(int value){ if(value<2)return false; for(int i=2;i<value;i++) if(value%i==0)return false; return true; } //判断这个数是否是素数 }
(3)验证