Java 运营商<;参数类型布尔值int未定义
我是新的处理,我有这个问题。我一直收到下面代码粗体部分的错误消息。我的语法错了吗Java 运营商<;参数类型布尔值int未定义,java,processing,Java,Processing,我是新的处理,我有这个问题。我一直收到下面代码粗体部分的错误消息。我的语法错了吗 void block(int x, int y, int s, color tinto) { fill(tinto); for (int i = 0; i < 3; i++) { triple(x, y+i*s, s, tinto); } if (0 < i < 3 && 6 < i < 9) { // HERE
void block(int x, int y, int s, color tinto) {
fill(tinto);
for (int i = 0; i < 3; i++) {
triple(x, y+i*s, s, tinto);
}
if (0 < i < 3 && 6 < i < 9) { // HERE
tinto = 255;
}
else {
tinto = tinto - 200;
}
}
void块(整数x、整数y、整数s、彩色tinto){
填充(tinto);
对于(int i=0;i<3;i++){
三重(x,y+i*s,s,tinto);
}
如果(0
这不是有效的java表达式。尝试:
if (0<i && i<3 && 6<i && i<9){
if(0在Java中,要检查变量是否在某个范围内,必须将语句分成两部分,如下所示:
if (0 < i && i < 3 && 6 < i && i < 9){
}
if(0
然而,这个特定的代码永远不会是真的,因为您要求它在两个不同的范围内。也许您想检查其中一个范围
if (0 < i && i < 3 || 6 < i && i < 9){
}
if(0
请注意| |或运算符而不是&&和运算符。语法无效,我认为您的表达式无论如何都是错误的。您说的I
必须在一个范围内和另一个范围内。我想您的意思是,它可能在一个或另一个范围之间
有效语法示例:将0
替换为i>0&&i<3
试试这个:
if ( (i > 0 && i < 3) || (i > 6 && i < 9) )
此代码段存在两个不同的问题。首先,您在for循环内部的“int”中定义了“i”变量。一旦退出该for循环,“i”的此实例将不再定义,因此下面的if语句不引用该实例。若要克服此问题,请在for循环之前定义“i”
int i;
for ( i=0; i<3; I++ ) {
...
}
if ( i ...
inti;
对于(i=0;i)您收到了哪些错误消息?if(0您必须向我们解释您正在尝试执行的操作。即使Java有一个范围运算符,就像一些人假设您正在尝试执行的那样,0这甚至没有意义,因为i
不能同时介于0和3之间以及6和9之间。相关:Java链式不等式如果(5)我的表达式肯定是错的……我尝试了VAILD语法,现在程序运行了,但是它没有改变中间的3x3块的颜色。@ KAIROSENO我们不能诊断你的程序,因为我们对它一无所知。如果你仍然有问题,在这个网站上发布一个问题,所有的相关代码都需要。如果回答了您当前的问题,请单击我的答案左侧的复选标记将其标记为“已接受”。
int i;
for ( i=0; i<3; I++ ) {
...
}
if ( i ...
if ( 0 < i && i < 3 ...