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

    运行结果截图

      

      

  • 相关阅读:
    Java 练习题02 (包装类 (对字符串进行排序))
    Java 练习题01(运算符)
    理解有参构造器和无参构造器的作用
    反射;获取类的字节码对象;Class类实例化对象;获取类中的公共构造方法/成员变量/成员方法并执行;暴力反射 (Java Day27)
    网络编程;InetAddress类;UDP协议和TCP协议;Socket编程;UDP编程;TCP编程 (Java Day26)
    序列化 & 反序列化
    几种常用的认证机制
    MySql交换两列
    架构设计思想
    REST资源的URL设计
  • 原文地址:https://www.cnblogs.com/whohow/p/11564890.html
Copyright © 2020-2023  润新知