胡昊—第7次作业--访问权限、对象使用
#题目1:
在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
JvXing.java
package cn.edu.ccut.JvXing; public class JvXing { /** * 该类为矩形类,在类中有求矩形面积和周长的方法 */ double a; double b; static double MianJi; static double ZhouChang; public JvXing(double a,double b){//矩形的带参数构造方法,实现赋值操作 this.a=a; this.b=b; } public double c(){//求周长方法 return ZhouChang=(a+b)*2; } public double s(){//求面积方法 return MianJi=a*b; } }
ZhuTi.java
package cn.edu.ccut.ZhuTi; import cn.edu.ccut.JvXing.*; public class ZhuTi { /** * 该类是柱体类,通过调用矩形类的求面积方法得到柱体的底面积, * 类中有求体积的方法,该方法通过调用矩形类的面积与成员变量h相乘得出体积, * 类中有换底方法,实现求同高不同底的体积的功能 */ double h; double TiJi; JvXing jx; public ZhuTi(double h,JvXing jx){//带参数的构造方法,赋初值 this.h=h; this.jx=jx; } public double v(){//体积,通过调用矩形类的面积方法,与成员变量h相乘得出体积 return TiJi=jx.s()*h; } public void Change(JvXing Chjx){//换底方法 this.jx=Chjx; } }
test.java
import cn.edu.ccut.ZhuTi.*; import cn.edu.ccut.JvXing.*; import java.util.*; public class test { /** * 主类,程序的入口,可以输入长宽高求柱体的 体积,也可以输入新的长宽,求换地后柱体的体积 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner r=new Scanner(System.in); double a,b,h,a1,b1; System.out.print("请输入长:"); a=r.nextDouble(); System.out.print("请输入宽:"); b=r.nextDouble(); System.out.print("请输入高:"); h=r.nextDouble(); JvXing jx=new JvXing(a,b);//实例化矩形对象 ZhuTi zt=new ZhuTi(h,jx);//实例化柱体对象 System.out.println("柱体的体积是:"+zt.v()); System.out.print("请输入新矩形的长:"); a1=r.nextDouble(); System.out.print("请输入新矩形的宽:"); b1=r.nextDouble(); JvXing jx1=new JvXing(a1,b1);//实例化新的矩形,作为换的底 zt.Change(jx1);//调用换底方法 System.out.println("柱体的体积是:"+zt.v()); } }
运行结果截图
题目2:
设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
MyInteger.java
package MyInt; public class MyInteger { /** * 该类实现判断一个数是否是奇数、偶数、素数的功能 */ int value; public MyInteger(int i){//带参数的构造方法,实现赋初值 this.value=i; } public int getValue() {//访问器 return value; } public void setValue(int value) {//修改器 this.value = value; } public boolean isEven(MyInteger a){//判断偶数 boolean flag=false; if(a.getValue()%2==0) flag=true; return flag; } public boolean isOdd(MyInteger a){//判断奇数 boolean flag=false; if(a.getValue()%2!=0) flag=true; return flag; } public boolean isPrime(MyInteger a){//判断素数 boolean flag=true; for(int i=2;i<a.getValue();i++){ if(a.getValue()%i==0) flag=false; } return flag; } }
test.java
import java.util.*; import MyInt.MyInteger; public class test { /** * 主类,程序的入口,在主方法中输入一个整数,通过调用MyInteger类中的三个方法,判断数 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner r=new Scanner(System.in); System.out.println("请输入一个整数"); int a=r.nextInt(); MyInteger MI=new MyInteger(a); //实例化一个MyInteger类的对象 System.out.println(a+"是奇数?"+MI.isOdd(MI));//调用MyInteger的isOdd方法 System.out.println(a+"是偶数?"+MI.isEven(MI));//调用MyInteger的isEven方法 System.out.println(a+"是素数?"+MI.isPrime(MI));//调用MyInteger的isPrime方法 } }
运行结果截图