第7次作业--访问权限、对象使用
题目1:在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
package Demo; import java.util.Scanner; public class demo16 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader = new Scanner(System.in); double volumn = 0.0; System.out.println("请输入长宽高"); double width = reader.nextInt(); double length = reader.nextInt(); double height = reader.nextInt(); Rect rect = new Rect(width,length); Pode pode = new Pode(rect,height); volumn = pode.getVolumn(); System.out.println("新圆柱体的体积是:"+volumn); } } class Rect{ //原来矩形的宽 private double width = 0.0; //原来矩形的高 private double length = 0.0; //原来矩形的面积 private double area = 0.0; //原来矩形的周长 private double peri = 0.0; Rect(double width,double height){ this.width = width; this.length = height; } //计算矩形的面积 public double getArea() { area = width*length; return area; } //计算矩形的周长 public double getPeri() { peri = (length+width)*2; return peri; } //返回矩形的宽 public double getWidth() { return width; } //设置矩形的宽 public void setWidth(double width) { this.width = width; } //返回矩形的长 public double getLength() { return length; } //设置矩形的长 public void setLength(double length) { this.length = length; } } class Pode{ //设置矩形的对象 Rect rect; double height; double volumn; //通过构造方法来传入矩形的对象和高 Pode(Rect rect,double height){ this.rect = rect; this.height = height; } //计算新柱体的体积 public double getVolumn(){ double length = rect.getLength(); double width = rect.getWidth(); if(length<=0||width<=0||height<=0) throw new MException("柱体的长宽高不能小于0"); volumn = width*height*length; return volumn; } } class MException extends RuntimeException{ MException(String str){ super(str); } }
题目2:设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
张迪 20:29:55 package cx; public class MyInteger {//创建类 int value;//int型数据域 MyInteger(){//创建对象 } public int getValue() {//访问器 return value; } public void setValue(int value) {//修改器 this.value = value; } boolean isEven(){//判断是否是偶数 return value%2==0; } boolean isOdd(){//判断是否是奇数 return value%2!=0; } static void isPrime(MyInteger i) {//类方法判断素数 for(int a=2;a<i.value;a++) { if(i.value%a==0) { System.out.println("是否是素数"+false); break; }else { System.out.println("是否是素数"+true); break; } } } } 张迪 20:30:05 package cx; import java.util.Scanner; import cx.MyInteger; public class AA { private static final MyInteger i = null; public static void main(String[] args) { // TODO Auto-generated method stub Scanner reader =new Scanner(System.in); int value=reader.nextInt();//键盘输入 MyInteger x=new MyInteger();//创建对象 x.setValue(value);//引用方法 System.out.println("用户输入是否是偶数"+x.isEven());//打印 System.out.println("用户输入是否是奇数"+x.isOdd()); x.isPrime(x);//引用方法 } }