猿问

多次打印阵列

嘿,我必须对下面的代码执行以下操作,但不确定如何正确地让它只打印事件日志溢出 - 终止一次。它的打印多次。


要做:数组事件的长度是用一个名为 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++;  

         }

      }      

   }

}


holdtom
浏览 151回答 1
1回答

慕标5832272

您正在使用 size 初始化数组,5但您正在插入 6 个元素。所以最后一次插入超出了数组的边界您可以添加一个expandArray被调用的函数,然后将现有元素添加到该新数组中。或者你可以使用ArrayList
随时随地看视频慕课网APP

相关分类

Java
我要回答