- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
import java.util.*;
class Graph{
class Edge{
int v,w;
public Edge(int v,int w){
this.v=v; this.w=w;
}
@Override
public String toString(){
return "("+v+","+w+")";
}
}
List<Edge> G[];
public Graph(int n){
G=new LinkedList[n];
for(int i=0;i<G.length;i++)
G[i]=new LinkedList<Edge>();
}
boolean isConnected(int u,int v){
for(Edge i: G[u])
if(i.v==v) return true;
return false;
}
void addEdge(int u,int v,int w)
{
G[u].add(0,new Edge(v,w));
G[v].add(0,new Edge(u,w));
}
public int getWeight(int u, int v)
{
int w;
return w;
}
这部分就在上面^^^^。我正在尝试使代码返回与已输入的两个数字关联的正确数字。例如,g.getWeight(6,3) 应返回 13,因为这是图表中这两个数字的权重。
@Override
public String toString(){
String result="";
for(int i=0;i<G.length;i++)
result+=i+"=>"+G[i]+"\n";
return result;
}
}
public class GraphEx
{
public static void main(String[] args)
{
Graph g=new Graph(10);
g.addEdge(1,2,38);
g.addEdge(1,5 ,19);
g.addEdge(1,3 ,35);
g.addEdge(1,4 ,11);
g.addEdge(4,3,27);
g.addEdge(3,6,13);
g.addEdge(3,5,28);
g.addEdge(5,6,26);
System.out.println(g);
g.getWeight(6,3);
}
}
当前代码给出的错误是“变量 w 可能尚未初始化”
最佳答案
variable w might not have been initialized
这是因为Definite assignment .
Each local variable (§14.4) and every blank final field (§4.12.4, §8.3.1.2) must have a definitely assigned value when any access of its value occurs.
与成员变量不同,您必须在使用局部变量的值之前对其进行赋值。您可以简单地分配一个值;但这还不能满足您的需要:
int w = 0; // Or -1, or Integer.MAX_VALUE, or something.
要实现此方法,您必须搜索 G[u]
的边,寻找目标为 v
的边,并返回其权重。
例如:
for (Edge e : G[u]) {
if (e.v == v) { return e.w }
}
throw new NoSuchElementException(); // Or return a default value.
<小时/>
请注意,混合数组和泛型并不是一个好主意:
List<Edge> G[];
最好使用全泛型解决方案:
Map<Integer, List<Edge>> G = new HashMap<>();
关于java - 如何让 getWeight() 返回该边的权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43879456/
import java.util.*; class Graph{ class Edge{ int v,w; public Edge(int v,int w){ th
本文整理了Java中org.apache.mahout.math.random.WeightedThing.getWeight()方法的一些代码示例,展示了WeightedThing.getWeigh
我是一名优秀的程序员,十分优秀!