Processing报“bad identifier”语法错误,请求排查故障(附代码)
解决Processing代码中的“bad identifier”错误及语法问题
你的代码存在两个关键语法错误,直接导致了报错:
- 变量拼写不一致:定义颜色数组时用的是
pallette(两个l),但后续调用时写成了palette(一个l),系统无法识别未定义的palette变量。 - for循环初始化语法错误:
for(int i < 0; ...)是错误写法,变量初始化必须使用赋值运算符=,正确格式应为int i = 0,这是触发“bad identifier”的核心原因。
另外补充一个优化点:fibonacci数组第一个元素是0,绘制时x=0会让椭圆左半部分超出画布,给x值加个偏移量能让所有点完整显示。
修正后的代码如下:
color[] dessert = (#9F9694, #791F33, #BA3D49, #F1E6D4, #E2E1DC); color[] palette = dessert; // 修正变量拼写 size(600,200); background(palette[0]); smooth(); int[] fibonacci = {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377}; for(int i = 0; i < fibonacci.length; i++) { // 修正for循环初始化语句 stroke(palette[1]); strokeWeight(2); float x = fibonacci[i] + 20; // 添加偏移量避免点被画布边缘截断 ellipse(x, height/2, 20, 20); }
内容的提问来源于stack exchange,提问作者Jules
相关产品推荐
相关产品推荐

