gpt4 book ai didi

java - 优先队列 Java 添加方法抛出语法错误和错位构造错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:27:26 25 4
gpt4 key购买 nike

我想学习如何在 Java 中使用优先级队列来解决基于算法的问题,我似乎无法让我的优先队列获得 add 方法。

import java.util.PriorityQueue;

public class PQueue {

PriorityQueue pq = new PriorityQueue();
// or
PriorityQueue<Integer> pq = new PriorityQueue<Integer>();

pq.add(2);
// Java fails to recognise the add method. Moreover, on pressing spacebar + enter after pq.

// i do not get anny suggestion for any methods supported by priority queue.
// Is this because I am not specifying a comparator,
// isnt integer suppose to have natural ordering by default. Need help. Feeling like a moron.


}

最佳答案

您必须按照下面的代码在方法中编写该代码

package temp;
import java.util.PriorityQueue;

public class PQueue {




public static void main(String[] args) {

PriorityQueue<Integer> pq = new PriorityQueue<Integer>();
pq.add(2);



}

}

您的解决方案的问题是您所写的内容直接在类中,因此您正在获取成员。理想情况下,类应具有数据成员和方法。

这可能有助于你理解逻辑

类人{

private String name;
private int age;
private String address;

public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}



public int getAge() {
return age;

}

public void setAge(int age) {
this.age = age;
}



public String getAddress() {
return address;
}



public void setAddress(String address) {
this.address = address;
}

所有数据操作都应在方法内完成,如上面代码中的 getter 和 settor 所示。

放置相同代码的另一个地方是在静态 block 中,如下所示

static {

PriorityQueue<Integer> pq = new PriorityQueue<Integer>();
pq.add(2);
}

关于java - 优先队列 Java 添加方法抛出语法错误和错位构造错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22944512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com