第7次作业--访问权限、对象使用
一、题目1:
在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
二、源程序
package aa;//包名 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);//创建reader的对象 JuXing jx=new JuXing();//创建矩形对象 //进行键盘输入长宽高 jx.l=reader.nextInt();//输入底的长 jx.k=reader.nextInt();//输入底的宽 int high=reader.nextInt(); ZhuTi tt=new ZhuTi(jx.getArea(jx.l,jx.k), high); System.out.println("体积为"+tt.ZhuTiV());//输出体积 System.out.println("输入新的矩形长,宽,高"); jx.l=reader.nextInt();//修改底的长 jx.k=reader.nextInt();//修改底的宽 System.out.println("体积为"+tt.changeS(jx.l, jx.k)*high);//输出新体积 } }
package aa; public class JuXing { //创建矩形类 static int k; //矩形宽 static int l;//矩形长 static int s;//矩形面积 public static int getK() { //k的访问器 return k; } public static void setK(int k) { JuXing.k= k; } public static int getL() { //l的访问器 return l; } public static void setL(int l) { JuXing.l = l; } public static int getArea(int width,int length){//创建方法求矩形面积 s=width*length; return s; } }
package aa; public class ZhuTi { JuXing jx;//矩形对象 public double h;//矩形高 public double V;//矩形体积 public double getH() {//h方法的访问器 return h; } public void setH(int h) {//h的修改器 this.h = h; } public double getV() {//v的访问器 return V; } public void setV(double v) {//h的修改器 V = v; } ZhuTi(double s,int h){ this.h=h; } public double ZhuTiV(){ //计算体积 V=jx.getArea(jx.k, jx.l)*h; return V; } public int changeS(int k,int l){ //1.换底功能方法 int newArea=k*l; return newArea; } }
三、运行结果
一、题目2:
设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
二、源程序
package cc; import java.util.*; public class zjm { /** * @param args */ public static void main(String[] args) {//主类 // TODO Auto-generated method stub Scanner reader=new Scanner(System.in); System.out.println("输入一个数:"); int a=reader.nextInt(); MyInteger n2=new MyInteger(a); //创建n2对象 System.out.println("是否是奇数:"+n2.isEven()); //调用方法判断是否为偶数 System.out.println("是否是偶数:"+n2.isOdd()); //调用方法判断是否为奇数 System.out.println("是否是素数:"+n2.isPrime(n2));//调用方法判断是否为素数 } }
package cc; public class MyInteger {//创建MyInteger类 int value; //定义变量 public int getValue() { //使用访问器与修改器 return value; } public void setValue(int value) { this.value = value; } public MyInteger() {//无参的构造法 } MyInteger(int value){//有参的构造方法 this.value=value; } boolean isEven(){//创建方法判断是否为偶数 if(value%2==0)return true; else return false; } boolean isOdd(){//创建方法判断是否为奇数 if(value%2==1)return true; else return false; } boolean isPrime(MyInteger i){//创建方法判断是否为素数 for(int j=2;j<i.value;j++){ if(i.value%j==0){ return false;} } return true; } }
三、运行结果