m0_62438861 2021-10-05 09:59 采纳率: 77.8%
浏览 77
已结题

有会java的程序员吗?可以请教一下吗?

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

  • 写回答

2条回答 默认 最新

  • qfl_sdu 2021-10-05 10:20
    关注
    import java.util.Scanner;
    
    public class Box {
        
        private int length;  //长
        private int width;  //宽
        private int height;  //高
        private int vol;  //容积
        private int volUsed; //已用容积
        //构造函数
        public Box(int l,int w,int h){
            length = l;
            width = w;
            height = h;
            volUsed = 0;
        }
        //计算容积
        public void CaculateVol(){
            vol = length * width * height;
        }
        //装箱
        public boolean InputBox(int vol){
            if(vol < this.vol - this.volUsed) {
                volUsed += vol;
                System.out.println("剩余:"+ (getVol() - getVolUsed()));
                return true;
            }else if(vol < this.vol - this.volUsed){
                volUsed += vol;
                System.out.println("已装满,装入成功");
                System.out.println("剩余:0");
                return true;
            }else {
                System.out.println("装入失败!溢出"+(vol - (this.vol - this.volUsed)));
                return false;
            }
        }
        public int getLength() {
            return length;
        }
        public void setLength(int length) {
            this.length = length;
        }
        public int getWidth() {
            return width;
        }
        public void setWidth(int width) {
            this.width = width;
        }
        public int getHeight() {
            return height;
        }
        public void setHeight(int height) {
            this.height = height;
        }
        public int getVol() {
            return vol;
        }
        public void setVol(int vol) {
            this.vol = vol;
        }
        public int getVolUsed() {
            return volUsed;
        }
        public void setVolUsed(int volUsed) {
            this.volUsed = volUsed;
        }
        //清空
        public void Clear(){
            volUsed = 0;
        }
        //判断箱子是否已满
        public boolean isFull(){
            if(volUsed == vol)
                return true;
            else
                return false;
        }
    
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            System.out.print("输入长:");
            int leng = sc.nextInt();
            System.out.print("输入宽:");
            int wd = sc.nextInt();
            System.out.print("输入高:");
            int hh = sc.nextInt();
            Box b = new Box(leng,wd,hh);
            System.out.println("体积为:"+b.getVol());
            
            System.out.print("请装入:");
            int v = sc.nextInt();
            b.InputBox(v);
            while(!b.isFull()){
                System.out.print("继续装入:");
                v = sc.nextInt();
                b.InputBox(v);
            }
    
        }
    
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月13日
  • 已采纳回答 10月5日
  • 创建了问题 10月5日

悬赏问题

  • ¥30 51单片机C语言数码管驱动单片机为AT89C52
  • ¥100 只改动本课件的 cal_portfolio_weight_series(decision_date), 跑完本课件。设计一个信息比率尽量高的策略。
  • ¥20 如何在visual studio 2022中添加ImageMagick库
  • ¥50 如何实现uniapp编译的微信小程序做可回溯视频
  • ¥15 求Houdini使用行家,付费。价格面议。
  • ¥15 前端高拍仪调用问题报错
  • ¥15 想用octave解决这个数学问题
  • ¥15 Centos新建的临时ip无法上网,如何解决?
  • ¥15 海康威视如何实现客户端软件对设备语音请求的处理。
  • ¥15 支付宝h5参数如何实现跳转