Java第7次作业--访问权限、对象使用
一、题目1
在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
二、源代码
1.Rect.java
/**定义矩形长 * double b;//矩形宽 * double area;//矩形面积 * 求面积的方法 */ package com; public class Rect { double a;//矩形长 double b;//矩形宽 double area;//矩形面积 double length;//矩形周长 double rearea(double a,double b){ area=a*b; return area; } double relength(double a,double b){ length=2*a+2*b; return length; } }
2.Cylinder.java
/** 定义柱体高h 和体积v、矩形对象Rect r * 柱体高h的访问器和修改器 * 一个有参的构造方法 * 一个计柱体体积的方法 * 修改矩形的长和宽的方法 */ package com; public class Cylinder {//柱体类Cylinder double h;//高 double V;//体积 Rect r;//矩形对象 public double getH() {//访问器 return h; } public void setH(double h) {//修改器 this.h = h; } Cylinder(Rect r,Double h){//有参的构造方法 this.r=r; this.h=h; } void countV(Rect r){//计算体积 V=h*r.rearea(r.a, r.b); System.out.print("柱体的体积是"+V); } void charea(double a,double b){//修改底矩形的长和宽 this.r.a=a; this.r.b=b; } }
3.Test.java
/**在主类中键盘输入长、宽、高,计算柱体体积 * 键盘输入修改的长、宽、高,创建新的矩形对象,再次计算柱体体积。 */ package com; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); Rect r=new Rect(); System.out.println("请输入矩形的长:"); r.a=sc.nextDouble(); System.out.println("请输入矩形的宽:"); r.b=sc.nextDouble(); System.out.println("请输入柱体的高:"); double h=sc.nextDouble(); Cylinder cyl=new Cylinder(r,h); cyl.countV(r);//计算底面积的方法 System.out.println(); System.out.println("修改矩形的长:"); double a=sc.nextDouble(); System.out.println("修改矩形的宽:"); double b=sc.nextDouble(); cyl.charea(a, b);//修改矩形的长和宽 System.out.println("修改柱体的高:"); cyl.setH(sc.nextDouble());//修改柱体高 cyl.countV(r); } }
三、运行结果
一、题目2
设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
二、源代码
1.MyInteger.java
/** MyIteger类中包含成员变量value、构造方法、修改器和访问器、isOdd方法、isEven方法、isPrime方法 * isOdd方法判断是否为偶数,isEven方法判断是否为奇数,isPrime方法判断是否为素数 */ package cn; public class MyInteger { int value; public int getValue() { return value; } public void setValue(int value) { this.value = value; } MyInteger(int value){//创建构造方法 this.value=value; } public boolean isEven() { //判断是否为偶数的方法 if(value%2==0) return true; return false; } public boolean isOdd() { //判断是否为奇数的方法 if(value % 2 != 0) return true; return false; } public boolean isPrime(MyInteger i) {//判断是都为素数的方法 for (int j=2;j<=value/2;j++) { if (value%j==0) return false; } return true; } }
2.Test.java
/** * 主方法中创建MyInteger对象,依次调用MyInteger类中各方法并输出结果 */ package cn; import java.util.Scanner; public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); System.out.println("请输入一个数:"); int value=sc.nextInt(); MyInteger m=new MyInteger(value);//创建MyInteger对象 System.out.println(value+"是否为偶数:"+m.isEven()); //调用判断是否为偶数的方法 System.out.println(value+"是否为奇数:"+m.isOdd());//调用判断是否为奇数的方法 System.out.println(value+"是否为素数:"+m.isPrime(m));//调用判断是否为素数的方法 } }
三、运行结果