20194653-访问权限、对象使用

题目1:在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。

一、源代码

1.rec.java

/***
 * @author X1393
 * 创建rec类其中包含
 * 成员变量l为矩形的长
 * 成员变量h为矩形的宽
 * 成员变量area为矩形的面积
 * 成员变量C为矩形的周长
 * 方法funC求矩形的周长
 * 方法funarea求矩形的面积
 */
public class rec {
	double l;
	double h;
	double area;
	double C;
	public double funC(double a,double b){   //求矩形周长
		C=2*a+2*b;
		return C;
	}
	public double funarea(double a,double b){  //求矩形面积
		area=a*b;
		return area;
	}
}

2.getV.java

/**
 * @author X1393
 * 创建getV类,类中包含
 * 成员变量H为四棱柱的高
 * 成员变量T为矩形  
 * 构造方法为变量初始化
 * funv方法求四棱柱的体积
 * getH,setH为四棱柱高的访问器和修改器
 * getT,setT为矩形类的访问器和修改器
 */
public class getV {
	rec T=new rec();
	double H;    //四棱柱的高
	getV(double H,rec T){    //构造方法
	this.H=H;
	this.T=T;
	}
	public	double funv(double a,double b){  //求四棱柱体积
		return a*b;
		
	}
	
	public double getH() {     
		return H;
	}
	public void setH(double h) {
		H = h;
	}
	public rec getT() {
		return T;
	}
	public void setT(rec t) {
		T = t;
	}

}

3.Test.java

/**
 * 在主方法中创建
 * rec类的对象TY用来接受用户输入的矩形长宽
 * getV类的V接受矩形和用户输入的四棱柱的高
 * 调用rec类与getV类中的方法求出矩形的周长,面积及四棱柱的体积
 * 再次创建rec类的对象T1,接受用户输入的新矩形的长宽
 * 利用getV中修改器改变其中矩形对象,并接受用户输入的高
 * 求出新矩形的周长,面积及四棱柱的体积
 */
import java.util.Scanner;
public class Test {


	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入长,宽,高");
		Scanner reader=new Scanner(System.in);
		rec T=new rec();    //创建rec类的对象T
		T.h=reader.nextDouble();    
		T.l=reader.nextDouble();
		double A=reader.nextDouble();
		getV V=new getV(A,T);      //创建getV类型的对象V
		System.out.println("矩形的周长为"+T.funC(T.h, T.l));
		System.out.println("矩形面积为"+T.funarea(T.h, T.l));
		System.out.println("四棱柱体积为"+V.funv(T.funarea(T.h, T.l), V.H));
		System.out.println("请输入新的长,宽,高");
		rec T1=new rec();       //创建rec类的对象T1
		T1.l=reader.nextDouble();
		T1.h=reader.nextDouble();
		double H1=reader.nextDouble();
		V.setH(H1);				//修改四棱柱的高
		V.setT(T1);             //修改四棱柱的底
		System.out.println("矩形的周长为"+T1.funC(T1.h, T1.l));
		System.out.println("矩形面积为"+T1.funarea(T1.h, T1.l));
		System.out.println("四棱柱体积为"+V.funv(T1.funarea(T1.h, T1.l), V.H));
		
		
	}

}

二、运行结果

 题目2:设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。

一、源代码

1.MyInteger.java

/**
 * @author X1393
 *创建MyInteger类其中包含
 *成员变量value
 *构造方法为变量初始化
 *getValue为value变量访问器
 *setValue为value变量修改器
 *isEven方法判断是否为偶数
 *isOdd方法判断是否为奇数
 *isPrime方法判断是否为素数
 */
public class MyInteger {
	int value;

	 MyInteger(int value) {     //构造方法
		this.value = value;
	}

	public int getValue() {    //访问器
		return value;
	}
	public void setValue(int value) {   //修改器
		this.value = value;
	}
	public boolean isEven(int a){    //判断是否为偶数
		if(a%2==0)
			return true;
		else
			return false;
	} 
	public boolean isOdd(int a){     //判断是否为奇数
		if(a%2!=0)
			return true;
		else
			return false;
	}
	public boolean isPrime(MyInteger i){   //判断是否为素数
		int flag=0;
		for (int j = 2; j < i.value; j++) {
			if (j%i.value==0) {
				flag=1;
			}			
		}
		if (flag==1) 
			return false;
		else  
			return true;
	}
	

}

2.Test.java

/**
 * 创建主方法
 * 定义变量接受用户输入的数
 * 定义MyInteger的对象a
 * 调用MyInteger中的方法判断结果并输出
 */
import java.util.Scanner;
public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("请输入一个数");
		Scanner reader=new Scanner(System.in);
		int x=reader.nextInt();
		MyInteger a=new MyInteger(x);   //定义MyInteger类的对象a
		System.out.println("是否偶数"+a.isEven(x));
		System.out.println("是否为奇数"+a.isOdd(x));
		System.out.println("是否为素数"+a.isPrime(a));
	}

}

 二、运行结果

原文地址:https://www.cnblogs.com/Xwwg/p/11553193.html