当前位置: 首页 > 知识库问答 >
问题:

ArrayIndexOutOfBounds 8处理时出现异常

柴瀚昂
2023-03-14

我的ArrayIndexOutOfBounds 8出现错误,我不确定原因-我的图像从0开始。行处理似乎突出显示为image(图像[ic],gridX,gridY,stepX,stepY) 解决此问题的任何帮助都将非常有用。提前谢谢!

import java.util.Calendar;
PImage[] images = new PImage[8];
int ic;
PImage img;

void setup(){
  size(500, 500);

  for ( int i = 0; i< images.length; i++ )
{
images[i] = loadImage( i + ".png" );   // make sure images "0.jpg" to "11.jpg" exist
}  
}

void draw(){
  ic= 0;
  float tileCountX =10;
  float tileCountY = 10;
  float stepX = width/tileCountX;
  float stepY = height/tileCountY;
  for (float gridY = 0; gridY < height; gridY += stepY){
    for (float gridX = 0; gridX < width; gridX += stepX){
           image(images[ic], gridX, gridY, stepX, stepY);
           ic++++;  
  }
  }
}

void keyReleased(){
  if (key=='s' || key=='S') saveFrame(timestamp()+"_##.png");
}

// timestamp
String timestamp() {
  Calendar now = Calendar.getInstance();
  return String.format("%1$ty%1$tm%1$td_%1$tH%1$tM%1$tS", now);
}

共有1个答案

柏阳炎
2023-03-14

请看这段代码:

  ic= 0;
  float tileCountX =10;
  float tileCountY = 10;
  float stepX = width/tileCountX;
  float stepY = height/tileCountY;
  for (float gridY = 0; gridY < height; gridY += stepY){
    for (float gridX = 0; gridX < width; gridX += stepX){
           image(images[ic], gridX, gridY, stepX, stepY);
           ic++;  
     }
   }

您的宽度和高度是500,所以内部循环将执行500次。你每次都在增加ic。

您正在使用该ic变量对数组进行索引,但数组只有8个索引,而不是500个。这就是你犯错误的原因。

您需要后退一步,并尝试弄清楚您正试图做什么,因为这段代码没有太多意义。

 类似资料:
  • 我知道以前有人问过这个问题,所以请原谅我再次问,但该线程指出的解决方案都不适合我。 我正在尝试按照文档设置 Kafka 。当我启动ZooKeeper时,我得到以下日志: 然后我开始Kafka,一切似乎都好: 然而,我在ZooKeeper日志中得到了以下条目: 虽然Kafka没有错误,但我不知道这些是什么 处理(…)时获得了用户级KeeperExc的 消息的意思是,我对设置没有信心。这些消息是什么意

  • 我正在使用第三方dll集成zteco生物识别设备。我通过使用tlbimp.exe并复制它来添加zkemkeeper.dll。 这是我的连接类 命名空间RTEvents{class Connection{public static string IP=“192.168.1.3”;public static string PORT=“4370”;public static string MACHINE

  • 6.5 ABP表现层 - 异常处理 6.5.1 简介 该文档只是针对ASP.NET MVC 以及Web API。如果你对ASP.NET Core也感兴趣,请参考ASP.NET Core文档。 在 web 应用程序中,异常通常是在 MVC Controller actions 和 Web API Controller actions 中被处理的。当异常发生时,应用程序用户被以某种方式告知该错误和该错

  • 问题内容: 我正在使用struts 2,并且正在尝试使用fop从xml和xsl创建pdf文件。我根据这两个网址http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/examples/embedding/java/embedding/ExampleXML2PDF.java?view=markup和http://justcode.wordpress开发了

  • 我对Spring批处理跳过逻辑有一些问题。我已经配置了一个作业的步骤来跳过两个异常(SQLIntegrityConstraintViolation异常和乐观锁定失败异常): 但当作业运行时,由于我将其配置为跳过的异常,作业以未知状态完成: 我做错什么了吗?我希望这一步跳过负责抛出其中一个异常的项,并继续处理,以便以完成状态结束。

  • 我不知道该怎么办。 当我试图从解析器获取语法错误的数量时,它显示0。 编辑: 它返回null。