Java 队列数组未编译-找不到符号错误

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

我试图使基数排序与队列数组配合使用,以避免冗长杂乱的switch语句,但在正确初始化数组时遇到了一些问题。下面给出了构造函数和实现示例

我只是在尝试编译时遇到了一个找不到符号的错误

 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()
也缺少返回类型。除非它应该是一个构造函数。在这种情况下,它不应该是静态的(并且类名应该大写),这就是它。非常感谢,就是这样。多谢各位