MrThursday 2021-04-10 17:36 采纳率: 100%
浏览 163
已结题

在线求解,好难啊,这个java题有人可以教我一下吗

初始有一个刚出生的细菌,新细菌20分钟后可进行繁殖,每30分钟繁殖两个(注:新繁殖出来的细菌也可以繁殖,20分钟生第一代,50分钟生第二代),但是每个细菌最多可以繁殖3代,细菌150分钟后自然死亡,请用面向对象思想设计实现计算n分钟内细菌总数

  • 写回答

3条回答 默认 最新

  • 穹龙 2021-04-11 10:15
    关注
        @Test
        public void test1() {
          Integer limitTime = 80;
          Integer nowTime = 1;
          List<Cell> cellList = new ArrayList<>();
          Cell cell = new Cell(0);
          cellList.add(cell);
          for(int i=0;i<limitTime;i++){
            List<Integer> num = new ArrayList<>();
            for(int j = 0;j<cellList.size();j++){
              if(cellList.get(j).getDieTime()==nowTime){
                num.add(j);
              }
            }
            for(int j = 0;j<num.size();j++){
              cellList.remove(num.get(j));
            }
            for(int j = 0;j<cellList.size();j++){
              if(nowTime-cellList.get(j).getBirthTime()==20){
                Cell cell1 = new Cell(nowTime);
                cellList.add(cell1);
              }else if((nowTime-cellList.get(j).getBirthTime()-20)%30==0){
                Cell cell1 = new Cell(nowTime);
                cellList.add(cell1);
              }
            }
            nowTime = nowTime + 1;
          }
          System.out.println(cellList.size());
        }
    
      public class Cell {
        private Integer birthTime;
        private Integer dieTime;
    
        Cell(Integer nowTime) {
          this.birthTime = nowTime;
          this.dieTime = nowTime + 150;
        }
    
      }

    细菌类:出生的时间,死亡时间;构造方法直接设置死亡时间为出生时间后的150分钟

    从i=0开始循环直到输入的时间,每次循环都先剔除已经到死亡时间的细菌,再循环判断细菌是否已经到增殖时间

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月11日

悬赏问题

  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元