第七次作业

题目1:在作业5的基础上,再创建一个柱体类,包含矩形对象、高和体积等三个成员变量,一个构造方法进行成员变量初始化,和计算体积、换底两个功能方法,在主类中输入长、宽、高,计算柱体体积,输入新的长、宽、高,创建新的矩形对象,并利用换底方法换底,再次计算柱体体积。

代码:

Rectangle类

package app.java;
/**
 *
 * 正方形类,用于求周长和面积
 *
 */
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;
 }
 public double getgirth() {// 求该矩形周长
  return (length + width) * 2;
 }
 public double getArea() {// 求该矩形面积
  return length * width;
 }
}

Cylinder类

package app.java;
/**
 *柱体类,用于求体积,以及换底。
 *
 */
public class Cylinder {
 public Rectangle r;// 定义成员变量
 public double height;
 public double volume;
 public Cylinder(Rectangle r, double height) {// 构造方法
  this.r = r;
  this.height = height;
 }
 public double getVolume() {//求体积
  return r.getArea() * height;
 }
 public void xinArea(Rectangle r) {
  this.r = r;
 }
}
Text类
package app.java;
import java.util.Scanner;
/**
 * 测试类,测试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());
      
 }
}
 代码和截图:

 

 

题目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;
    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;
    }
}
测试类
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 + "是一个素数");
 }
}

 

运行截图

 

posted @ 2019-09-22 16:04  jhyjhy  阅读(127)  评论(0编辑  收藏  举报