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

有会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日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效