胡昊—第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方法

	}

}

 

运行结果截图

  

  

posted @ 2019-09-21 21:39  胡烙懿  阅读(163)  评论(0编辑  收藏  举报