☆题目1
在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
☆代码及注释
☆☆Rectangle类
import java.util.Scanner;
/**
* 定义一个矩形类其中包含一个有参的构造方法,一个求面积方法,一个求周长方法
*
* @author minky
*
*/
class Rectangle {// 矩形类
public double length;// 成员变量
public double width;
public double area;
public double girth;
public Rectangle(double length, double width) {// 构造方法
this.length = length;
this.width = width;
}
public double getArea() {// 成员方法,求矩形面积
area = length * width;
return area;
}
public double getGirth() {// 成员方法,求矩形周长
girth = 2 * (length + width);
return girth;
}
}
☆☆Cuboid类
/**
* 定义一个柱体类,三个成员变量,一个构造方法,两个成员方法
*
* @author minky
*
*/
class Cuboid {// 柱体类
public Rectangle r;// 成员变量
public double height;
public double volume;
public Cuboid(Rectangle r, double height) {// 构造方法
this.r = r;
this.height = height;
}
public double getVolume() {// 成员方法,求体积
volume = r.getArea() * height;
return volume;
}
public void changeArea(Rectangle r) {// 成员方法,换底
this.r = r;
}
}
☆☆测试类
/**
* 测试类,测试输入长宽高,求体积,以及换底。
*
* @author minky
*
*/
public class Test {
public static void main(String[] args) {// 主方法
double length;
double width;
double height;
double volume;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入长宽高:");
length = scanner.nextDouble();
width = scanner.nextDouble();
height = scanner.nextDouble();
Rectangle rectangle = new Rectangle(length, width);// 定义矩形类
Cuboid cuboid = new Cuboid(rectangle, height);// 定义柱体类
System.out.println("柱体的体积是" + cuboid.getVolume());
System.out.println("请输入要更换的长和宽:");
length = scanner.nextDouble();
width = scanner.nextDouble();
rectangle = new Rectangle(length, width);// 重新初始化矩形类
cuboid.changeArea(rectangle);// 换底
System.out.println("换底后柱体的体积是" + cuboid.getVolume());
}
}
☆运行截图
☆题目2
设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
##☆代码及注释
☆☆MyInteger类
/**
* MyInteger类,其中包含一个整型成员变量,一个有参构造方法,一个访问器,一个修改器,两个实例方法判断偶数或奇数,一个类方法判断是否为素数
*
* @author minky
*
*/
class MyInteger {
public int value;
public MyInteger(int value) {// 构造方法
this.value = value;
}
public int getValue() {// 访问器
return value;
}
public void setValue(int value) {// 修改器
this.value = value;
}
public boolean isEven() {// 判断是否为偶数
if (this.value % 2 == 0)
return true;
else
return false;
}
public boolean isOdd() {// 判断是否为奇数
if (this.value % 2 == 1)
return true;
else
return false;
}
public static boolean isPrime(MyInteger i) {// 判断是否为素数
for (int j = 3; j < i.value; j++)
if (i.getValue() % j == 0)
return false;
return true;
}
}
☆☆测试类
import java.util.Scanner;
/**
* 测试类,测试MyInteger类中的各个方法
* @author minky
*
*/
public class Test {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个数:");
int value=scanner.nextInt();
MyInteger myInteger=new MyInteger(value);//测试构造方法
System.out.println("该值为"+myInteger.getValue());//测试getValue方法
if(myInteger.isEven())//测试isEven方法
System.out.println(myInteger.value+"是一个偶数");
if(myInteger.isOdd())//测试isOdd方法
System.out.println(myInteger.value+"是一个奇数");
System.out.println("再输入一个数");
value=scanner.nextInt();
myInteger.setValue(value);//测试setValue方法
if(myInteger.isPrime(myInteger))//测试isPrime方法
System.out.println(myInteger.value+"是一个素数");
}
}