第七次作业
题目1:在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。
代码:
Rectangle类
package app.java;
/**
*
* 正方形类,用于求周长和面积
*
*/
public class Rectangle {
public double area;// 定义成员变量
public double length;
public double width;
public double girth;
/**
*
* 正方形类,用于求周长和面积
*
*/
public class Rectangle {
public double area;// 定义成员变量
public double length;
public double width;
public double girth;
public Rectangle(double length, double width) {// 构造方法
this.length = length;
this.width = width;
}
this.length = length;
this.width = width;
}
public double getgirth() {// 求该矩形周长
return (length + width) * 2;
}
return (length + width) * 2;
}
public double getArea() {// 求该矩形面积
return length * width;
}
}
return length * width;
}
}
Cylinder类
package app.java;
/**
*柱体类,用于求体积,以及换底。
*
*/
public class Cylinder {
public Rectangle r;// 定义成员变量
public double height;
public double volume;
/**
*柱体类,用于求体积,以及换底。
*
*/
public class Cylinder {
public Rectangle r;// 定义成员变量
public double height;
public double volume;
public Cylinder(Rectangle r, double height) {// 构造方法
this.r = r;
this.height = height;
}
this.r = r;
this.height = height;
}
public double getVolume() {//求体积
return r.getArea() * height;
}
return r.getArea() * height;
}
public void xinArea(Rectangle r) {
this.r = r;
}
}
this.r = r;
}
}
Text类
package app.java;
import java.util.Scanner;
/**
* 测试类,测试Cylinder类的所有方法
*
*/
public class Text {
/**
* 测试类,测试Cylinder类的所有方法
*
*/
public class Text {
public static void main(String[] args) {// 建立主方法
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
double length = reader.nextDouble();
double width =reader.nextDouble();
double height = reader.nextDouble();
System.out.println("输入柱体的长宽高:");
Rectangle rectangle = new Rectangle(length, width);
Cylinder Cylinder = new Cylinder(rectangle, height);
System.out.println("柱体的体积是" + Cylinder.getVolume());
System.out.println("输入要更换的长和宽:");
length = reader.nextDouble();
width = reader.nextDouble();
rectangle = new Rectangle(length, width);// 重新赋值矩形类
Cylinder.xinArea(rectangle);
System.out.println("换底柱体的体积是" + Cylinder.getVolume());
}
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
double length = reader.nextDouble();
double width =reader.nextDouble();
double height = reader.nextDouble();
System.out.println("输入柱体的长宽高:");
Rectangle rectangle = new Rectangle(length, width);
Cylinder Cylinder = new Cylinder(rectangle, height);
System.out.println("柱体的体积是" + Cylinder.getVolume());
System.out.println("输入要更换的长和宽:");
length = reader.nextDouble();
width = reader.nextDouble();
rectangle = new Rectangle(length, width);// 重新赋值矩形类
Cylinder.xinArea(rectangle);
System.out.println("换底柱体的体积是" + Cylinder.getVolume());
}
}
代码和截图:
代码和截图:
![](https://img2018.cnblogs.com/blog/1791084/201909/1791084-20190922154427339-295317747.png)
题目2:设计名为MyInteger的类,它包括: int型数据域value 一个构造方法,当指定int值时,创建MyInteger对象 数据域value的访问器和修改器 isEven( )和isOdd( )方法,如果当前对象是偶数或奇数,返回true 类方法isPrime(MyInteger i),判断指定的值是否为素数,返回true 在主类中创建MyInteger对象,验证MyInteger类中各方法。
代码和注释
MyInteger类
package 飒飒;
import java.util.Scanner;
/**
* MyInteger类,两个实例方法判断偶数或奇数,一个类方法判断是否为素数
*
*
*/
class MyInteger {
public int value;
* MyInteger类,两个实例方法判断偶数或奇数,一个类方法判断是否为素数
*
*
*/
class MyInteger {
public int value;
public MyInteger(int value) {// 构造方法
this.value = value;
}
this.value = value;
}
public int getValue() {// 访问器
return value;
}
return value;
}
public void setValue(int value) {// 修改器
this.value = value;
}
this.value = value;
}
public boolean isEven() {// 判断是否为偶数
if (this.value % 2 == 0)
return true;
else
return false;
}
if (this.value % 2 == 0)
return true;
else
return false;
}
public boolean isOdd() {// 判断是否为奇数
if (this.value % 2 == 1)
return true;
else
return false;
}
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;
}
}
for (int j = 3; j < i.value; j++)
if (i.getValue() % j == 0)
return false;
return true;
}
}
测试类
public class Test12 {
/**
* 主类,测试MyInteger类中的方法
*
*/
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("请输入一个数:");
int value = reader.nextInt();
MyInteger myInteger = new MyInteger(value);// 测试构造方法
System.out.println("测试getValue方法:value值为" + myInteger.getValue());// 测试getValue方法
System.out.println("测试setValue方法,再输入一个数");
value = reader.nextInt();
myInteger.setValue(value);// 测试setValue方法
if (myInteger.isEven())// 测试isEven方法
System.out.println(myInteger.value + "是一个偶数");
if (myInteger.isOdd())// 测试isOdd方法
System.out.println(myInteger.value + "是一个奇数");
if (myInteger.isPrime(myInteger))// 测试isPrime方法
System.out.println(myInteger.value + "是一个素数");
}
* 主类,测试MyInteger类中的方法
*
*/
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("请输入一个数:");
int value = reader.nextInt();
MyInteger myInteger = new MyInteger(value);// 测试构造方法
System.out.println("测试getValue方法:value值为" + myInteger.getValue());// 测试getValue方法
System.out.println("测试setValue方法,再输入一个数");
value = reader.nextInt();
myInteger.setValue(value);// 测试setValue方法
if (myInteger.isEven())// 测试isEven方法
System.out.println(myInteger.value + "是一个偶数");
if (myInteger.isOdd())// 测试isOdd方法
System.out.println(myInteger.value + "是一个奇数");
if (myInteger.isPrime(myInteger))// 测试isPrime方法
System.out.println(myInteger.value + "是一个素数");
}
}
运行截图