第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);//引用方法
}
}

浙公网安备 33010602011771号