有会java的程序猿吗?这个程序要这么写啊,做为一个如学不久的我希望大家指点

问题描述:

设计一个box类,这个类有长,宽,高,容积,使用容积,共五个属性,一个构造方法,传入三个参数初始化长宽高属性,一个计算容积方法,并将结果附值给容积属性,一个装入盒子的方法,可以改变使用容积属性,一个清空盒方法,将盒子使用容积置为零,一个判断盒子是否装满方法
以下是程序运行结果:
输入长:5
输入宽:5
输入高:5
体积为:125
请装入:25
剩余:100
继续装入:50
剩余:50
继续装入:100
装入失败!溢出50
清空
继续装入:50
以装满,装入成功!
剩余:0

假如是语法问题建议搜索一下 Java类结构
假如只是思路问题的话

  • 构造函数只负责用传入的三个参数初始化长宽高三个值
  • 计算容积函数就直接长宽高相乘得到结果初始化容积字段
  • 清空函数直接将使用容积清零即可
  • 装入函数需要先判断一下当前使用容积加上装入体积是否大于总容积,大于的话输出错误信息,不然的话使用容积+x即可


public class Box {
    private Integer lenght;
    private Integer width;
    private Integer heigth;
    private Integer volume;
    private Integer usevolume;

    public Integer getVolume() {
        return volume;
    }

    public Box(Integer lenght, Integer width, Integer heigth) {
        this.lenght = lenght;
        this.width = width;
        this.heigth = heigth;
        this.volume = 0;
        this.usevolume = 0;
    }

    /**
     * 计算容积
     */
    public void getVol() {
        volume = this.lenght * this.width * this.heigth;
    }
    /**
     * 装入盒子的方法
     */
    public void change(Integer volume) {
        this.usevolume+=volume;
        //判断盒子使用容积是否超过本身容积
        if (this.usevolume > this.volume) {
            System.out.println("装入失败!溢出"+(this.usevolume - this.volume));
            this.usevolume-=volume;
        } else {
            if (!this.volume.equals(this.usevolume)) {
                System.out.println("剩余:"+(this.volume - this.usevolume));
            } else {
                System.out.println("已装满!装入成功!");
                System.out.println("剩余:0");
            }

        }
    }
    /**
     * 判断盒子是否装满
     */
    public boolean isFillUp() {
         return this.volume == this.usevolume;
    }
    /**
     * 清空盒子
     */
    public  void clear() {
        this.usevolume = 0;
        System.out.println("清空");
    }

}
    public static void main(String[] args) {
        System.out.print("输入长:");
        int length = sc.nextInt();
        System.out.print("输入宽:");
        int width = sc.nextInt();
        System.out.print("输入高:");
        int height = sc.nextInt();
        Box box = new Box(length, width, height);
        box.getVol();
        System.out.println("体积为:"+box.getVolume());
        System.out.print("请装入:");
        int input = sc.nextInt();
        box.change(input);
        while (!box.isFillUp()) {
            System.out.print("继续装入:");
            input = sc.nextInt();
            box.change(input);
        }
    }