Processing 处理类型不匹配
我是一个生疏的程序员,正在开发一个将有几个对象类的应用程序。我唯一的错误是类型不匹配,我不确定哪个调试器作为对象读取,哪个实际上在我创建的coord类中Processing 处理类型不匹配,processing,Processing,我是一个生疏的程序员,正在开发一个将有几个对象类的应用程序。我唯一的错误是类型不匹配,我不确定哪个调试器作为对象读取,哪个实际上在我创建的coord类中 public class Lily { int state; public Lily(coord[] pond) { int state = 0; coord place = new coord (mouseX, mouseY); pond = append(pond, place); \\this is the l
public class Lily {
int state;
public Lily(coord[] pond) {
int state = 0;
coord place = new coord (mouseX, mouseY);
pond = append(pond, place); \\this is the line that's getting a type error
}
public void draw(){
ellipse(mouseX, mouseY, 40, 40);
fill(#08BC09);
}
}
还有coord类
public class coord {
float[] pair = new float[2];
public coord(float X, float Y){
pair[0] = X;
pair[1] = Y;
}
}
编辑:错误消息显示“类型不匹配”,Java.lang.Object与“main.coord[]不匹配”
有什么帮助吗?提前感谢。要了解此问题,请阅读中的
append()
函数的文档。具体而言,该位:
使用对象数组时,函数返回的数据必须转换为对象数组的数据类型。例如:SomeClass[]items=(SomeClass[])append(originalArray,element)
换句话说,你必须这样做:
pond = (coord[])append(pond, place);
原因是append()
函数将对象[]
数组作为参数。因此,即使您向它传递一个coord[]
array,它也不“知道”数组的类型。因此,当它返回给您时,您会得到一个对象[]
数组,它恰好是一个坐标[]
数组。编译器无法保证这一点,因此您会得到错误,但您可以安全地转换返回给您的数组
还有一点需要注意:你应该养成使用适当缩进和大写的习惯(类应该以大写字母开头),否则你的代码有点难读。要理解这个问题,请阅读中的
append()
函数的文档。具体而言,该位:
使用对象数组时,函数返回的数据必须转换为对象数组的数据类型。例如:SomeClass[]items=(SomeClass[])append(originalArray,element)
换句话说,你必须这样做:
pond = (coord[])append(pond, place);
原因是append()
函数将对象[]
数组作为参数。因此,即使您向它传递一个coord[]
array,它也不“知道”数组的类型。因此,当它返回给您时,您会得到一个对象[]
数组,它恰好是一个坐标[]
数组。编译器无法保证这一点,因此您会得到错误,但您可以安全地转换返回给您的数组
还有一点需要注意的是:你应该养成使用适当缩进和大写的习惯(类应该以大写字母开头),否则你的代码有点难读。你应该编辑你的问题并添加错误消息的文本。你能发布一个我们可以运行的吗?如果我们不能自己运行代码,就很难帮助调试。@stark根据处理文档,append“将数组扩展一个元素并将数据添加到新位置”。因此我认为这不是数组大小问题。@KevinWorkman我不确定您的请求中缺少了什么。该错误显示在IDE中,并且是一个编译器错误,因此我也无法从中运行代码。我只是尝试调试我已经编写的少量代码,但不确定哪个项目被读取为对象,哪个项目被读取为坐标[]。您应该编辑您的问题并添加错误消息的文本。您可以发布一个我们可以运行的消息吗?如果我们不能自己运行代码,就很难帮助调试。@stark根据处理文档,append“将数组扩展一个元素并将数据添加到新位置”。因此我认为这不是数组大小问题。@KevinWorkman我不确定您的请求中缺少了什么。该错误显示在IDE中,并且是一个编译器错误,因此我也无法从中运行代码。我只是尝试调试我已经编写的少量代码,但不确定哪个项目作为对象读取,哪个项目作为coord[]读取。感谢您的帮助!此外,语法注释也有帮助。我的编程课太远了,记不起那样的事情。我在学数学,所以我懂编程的逻辑,但其他很多东西我都不懂。@LittleGrandma没问题,我绝对懂!谢谢你的帮助!此外,语法注释也有帮助。我的编程课太远了,记不起那样的事情。我在学数学,所以我懂编程的逻辑,但其他很多东西我都不懂。@LittleGrandma没问题,我绝对懂!