为了账号安全,请及时绑定邮箱和手机立即绑定

多次打印阵列

多次打印阵列

holdtom 2021-11-11 14:08:51
嘿,我必须对下面的代码执行以下操作,但不确定如何正确地让它只打印事件日志溢出 - 终止一次。它的打印多次。要做:数组事件的长度是用一个名为 EVENT_MAX 的常量(一个最终整数)指定的。方法 recordEvent 检查数组事件中是否有剩余空间来存储另一个事件(提示:比较 xevent 和 EVENT_MAX)。如果没有,则消息:事件日志溢出 - 应输出终止,并且程序以以下方法调用终止: System.exit(1);class RecordEvents2 {   public static void main (String args[]) {      Recorder r1 = new Recorder (100,100,"Wombat Detection");      r1.recordEvent("10:53");      r1.recordEvent("10:59");      r1.recordEvent("11:05");      r1.recordEvent("12:59");      r1.recordEvent("13:50");      r1.recordEvent("14:06");      r1.printEvents();   }}class Recorder {   int xPos,yPos;   String eventType;   String [] event = new String [5];   final int EVENT_Max = 0;      int xevent = 0;       Recorder (int xPos, int yPos, String eventType ) {      this.xPos = xPos;      this.yPos = yPos ;      this.eventType = eventType;   }      void recordEvent (String eventTime ) {      event [xevent] = eventTime;      xevent++;      if (xevent > EVENT_Max){         System.out.println ("Event log overflow - terminating");      }   }   void printEvents(){      System.out.println ("Record of " + eventType +            " events at [" + xPos + "," + yPos + "] " );      int index=0;      for (String current: event) {         if (xevent > index){            String ss=String.format("Event number %s was recorded at ",index);            System.out.println(ss + current);            index++;           }      }         }}
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

您正在使用 size 初始化数组,5但您正在插入 6 个元素。所以最后一次插入超出了数组的边界

您可以添加一个expandArray被调用的函数,然后将现有元素添加到该新数组中。或者你可以使用ArrayList


查看完整回答
反对 回复 2021-11-11
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信