我差不多完成了这段代码,但它告诉我,public static int power中有一个非法的修饰符;线。你能帮忙吗?
public static int binToDec(int i)
{
int[] numbers;//initialize variable
int f = 4;
String iString = "" + i;
int result = 0;
int length = iString.length();
public static int power;
for(power = iString.length(); power>=0;power--)
{
while(f == length && f >= 0)
{
numbers[power] = iString.charAt(power)^power;
}
length--;
f--;
}
for(int g = 0; g <= numbers.length; g++)//double check constraints
{
result = numbers[g] = numbers[power];
}
return result;
}
答案 0 :(得分:1)
修饰符public
和static
对方法内的局部变量没有意义,在那里无效。编译器错误表明您将其删除。
答案 1 :(得分:0)
删除&#34;公共静态&#34;在:
public static int power;
答案 2 :(得分:0)
在Java中,static意味着它是类中的变量或方法。换句话说,如果你使用static,它必须属于整个类的范围。如果您将该行代码移到方法之外,它应该可以解决您的问题。
答案 3 :(得分:0)
你可以这样做。
int power = Istring.length();
并从for
循环中删除初始化。
答案 4 :(得分:0)
在方法中声明和定义变量只会将其范围限制为方法。 public
是一个关键字,用于使其对每个类都可见,static
使变量为整个类共享。
因此,方法变量不允许使用public和static。因此,只有final
这些变量允许使用关键字
有关范围,默认值和method, instance and class variables
的生命周期的更多信息,请查看此内容