mhey我必须对下面的代码执行以下操作,并且不确定如何正确地将其打印到事件日志溢出 - 终止一次.它的打印次数多次.
要做:使用名为EVENT_MAX ii的常量(最终int)指定数组事件的长度.方法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++;
}
}
}
}Run Code Online (Sandbox Code Playgroud)
您正在使用大小初始化数组,5但是您要插入6个元素.所以最后一次插入超出了数组的范围
您可以添加一个expandArray被调用的函数,然后将现有元素添加到该新数组中.或者你可以使用ArrayList
| 归档时间: |
|
| 查看次数: |
343 次 |
| 最近记录: |