大家好,小弟是一个java的初学者,并且是第一次学习编程,问题可能有些弱智,请大家别见怪。好了闲话休提,以下是一本java教材的例题:
“下面以编写一个Fibonacci数列为例说明嵌套if-else语句的使用方法。Fibonacci数列的定义是:当n=1和n=2时,F(n)=1;当n>=3时,F(n)=F(n-1)+F(n-2)。
//例子3-4编写Fibonacci数列
import java.awt.*;
import java.applet.*;
public class testC04 extends Applet
{
int f[]=new int[20];
public void paint(Graphics g)
{
int i,k;
k=1;
for(i=1;i<18;i++){
if(i==1)
f[i]=1;
else{
if(i==2)
f[i]=1;
else
f[i]=f[i-1]+f[i-2];
}
}
for(i=1;i<18;i++){
g.drawString("F["+i+"]="+f[i],20,k*20);
k++;
}
}
}
小弟看了后想把11~15行的代码改为:
if(i==1||2)
f[i]=1;
即为:
import java.awt.*;
import java.applet.*;
public class testC04 extends Applet
{
int f[]=new int[20];
public void paint(Graphics g)
{
int i,k;
k=1;
for(i=1;i<18;i++){
if(i==1||2)
f[i]=1;
else
f[i]=f[i-1]+f[i-2];
}
for(i=1;i<18;i++){
g.drawString("F["+i+"]="+f[i],20,k*20);
k++;
}
}
}
但是用javac编译后(我用的是jdk1.3.1),老是出现这一句:
testC04.java:11

perator || cannot be applied to boolean,int
if(i==1||2)
^
小弟想来想去“||”是逻辑运算符是对布尔型变量进行逻辑运算的,岂有不能用于布尔型变量之理。而至于i,i虽然是int,但这里是i==1||2,是i与1||2的比较,返回的是布尔型变量,运用于||的是1,2啊,难道i==1||2也算是i运用于||吗???小弟实在愚昧请各位高手多多指教。小弟这里有礼了。