gpt4 book ai didi

java - 全局变量 "x"不存在,处理3.2.3

转载 作者:行者123 更新时间:2023-11-30 06:55:40 25 4
gpt4 key购买 nike

当我开始在处理中编码时,遇到了一个无法找到解决方案的错误。

代码:

void setup(){
size(640,360);
}

int scl = 20;

void draw(){
background(250);
drawGrid(scl);
makeObject(0,0,20,20);
}

void drawGrid(float size){
for(int v=0;v<640/20;v++){
for(int h=0;h<360/20;h++){
rect(h*size,v*size,size,size);
}
}
}

void makeObject(int obX,int obY,int obHeight,int obWidth){
this.x = obX;
this.y = obY;
this.obH = obHeight;
this.obW = obWidth;

rect(this.x,this.y,this.obH,this.obW);
}

错误是:“全局变量“x”不存在”、“全局变量“y”不存在”等等。请帮忙

最佳答案

好吧,您的错误说明了一切:您正在使用 x 变量,但您从未声明它。

让我猜猜:您有 JavaScript 背景?您的 makeObject() 函数看起来像 JavaScript 构造函数,但这根本不是对象在 Java 中的工作方式。

在 Java 中,您必须定义一个,然后声明您要使用的变量。像这样:

class MyObject{
float x;
float y;
float obH;
float obW;

public MyObject(float obX, float obY, float obHeight, float obWidth){
this.x = obX;
this.y = obY;
this.obH = obHeight;
this.obW = obWidth;
}
}

然后您可以向该类添加函数,例如使用这些变量绘制矩形的 drawMe() 函数。

但是,我不确定您为什么要尝试创建一个对象,因为您从未真正使用过您创建的对象。您可以直接使用参数:

void makeObject(int obX,int obY,int obHeight,int obWidth){
rect(obX, obY, obHeight, obWidth);
}

关于java - 全局变量 "x"不存在,处理3.2.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41877740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com