胡昊—第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方法
}
}
运行结果截图

浙公网安备 33010602011771号