设计一个box类,这个类有长,宽,高,容积,使用容积,共五个属性,一个构造方法,传入三个参数初始化长宽高属性,一个计算容积方法,并将结果附值给容积属性,一个装入盒子的方法,可以改变使用容积属性,一个清空盒方法,将盒子使用容积置为零,一个判断盒子是否装满方法
以下是程序运行结果:
输入长:5
输入宽:5
输入高:5
体积为:125
请装入:25
剩余:100
继续装入:50
剩余:50
继续装入:100
装入失败!溢出50
清空
继续装入:50
以装满,装入成功!
剩余:0
有会java的程序员吗?可以请教一下吗?
- 写回答
- 好问题 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无用
悬赏问题
- ¥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参数如何实现跳转