Java 队列数组未编译-找不到符号错误
我试图使基数排序与队列数组配合使用,以避免冗长杂乱的switch语句,但在正确初始化数组时遇到了一些问题。下面给出了构造函数和实现示例 我只是在尝试编译时遇到了一个找不到符号的错误Java 队列数组未编译-找不到符号错误,java,Java,我试图使基数排序与队列数组配合使用,以避免冗长杂乱的switch语句,但在正确初始化数组时遇到了一些问题。下面给出了构造函数和实现示例 我只是在尝试编译时遇到了一个找不到符号的错误 public static radixj(){ IntQueue[] buckets = new IntQueue[10]; for (int i = 0; i < 10; i++) buckets[i] = new IntQueue(); } public static v
public static radixj(){
IntQueue[] buckets = new IntQueue[10];
for (int i = 0; i < 10; i++)
buckets[i] = new IntQueue();
}
public static void place(int temp, int marker)
{
int pos = temp % marker;
buckets[pos].put(temp);
}
public static radixj(){
IntQueue[]bucket=新的IntQueue[10];
对于(int i=0;i<10;i++)
bucket[i]=新的IntQueue();
}
公共静态空白位置(内部温度、内部标记)
{
int pos=温度%标记;
铲斗[pos].put(温度);
}
我很确定这是我犯的一个非常简单的错误,但我找不到它。任何帮助都将不胜感激。在您的代码中
IntQueue[] buckets = new IntQueue[10];
是函数的局部变量
public static radixj()
它必须具有返回类型
public static void radixj()
所以你不能在其他函数中使用它
buckets[pos].put(temp);
您应该声明一个静态类变量
class Foo {
static IntQueue[] buckets = new IntQueue[10];
...
并使用:Foo.bucket
class Foo {
public static IntQueue[] buckets = new IntQueue[10];
public static void radixj() {
for (int i = 0; i < 10; i++) {
Foo.buckets[i] = new IntQueue();
}
}
public static void place(int temp, int marker) {
int pos = temp % marker;
Foo.buckets[pos].put(temp);
}
}
class-Foo{
public static IntQueue[]bucket=new IntQueue[10];
公共静态无效半径xj(){
对于(int i=0;i<10;i++){
Foo.bucket[i]=new IntQueue();
}
}
公共静态空白位置(内部温度、内部标记){
int pos=温度%标记;
食物桶[pos].put(温度);
}
}
在您的代码中
IntQueue[] buckets = new IntQueue[10];
是函数的局部变量
public static radixj()
它必须具有返回类型
public static void radixj()
所以你不能在其他函数中使用它
buckets[pos].put(temp);
您应该声明一个静态类变量
class Foo {
static IntQueue[] buckets = new IntQueue[10];
...
并使用:Foo.bucket
class Foo {
public static IntQueue[] buckets = new IntQueue[10];
public static void radixj() {
for (int i = 0; i < 10; i++) {
Foo.buckets[i] = new IntQueue();
}
}
public static void place(int temp, int marker) {
int pos = temp % marker;
Foo.buckets[pos].put(temp);
}
}
class-Foo{
public static IntQueue[]bucket=new IntQueue[10];
公共静态无效半径xj(){
对于(int i=0;i<10;i++){
Foo.bucket[i]=new IntQueue();
}
}
公共静态空白位置(内部温度、内部标记){
int pos=温度%标记;
食物桶[pos].put(温度);
}
}
缺少radixj()
中的返回类型,bucket
无法解析为变量缺少radixj()
中的返回类型,bucket
无法解析为变量什么符号?什么是IntQueue
?它在一个包裹里吗?如果显示的代码在不同的包中,您是否导入了它?方法public static radixj()
也缺少返回类型。除非它应该是一个构造函数。在这种情况下,它不应该是静态的(类名应该大写)。什么符号?什么是IntQueue
?它在一个包裹里吗?如果显示的代码在不同的包中,您是否导入了它?方法public static radixj()
也缺少返回类型。除非它应该是一个构造函数。在这种情况下,它不应该是静态的(并且类名应该大写),这就是它。非常感谢,就是这样。多谢各位