这是Android Studio中的代码。我创建按钮开始,更高和更低。目标是获得按钮" start"显示随机数猜测。当按钮"更高"时,必须使用这个初始随机数。或"降低"正在被迫。但是,如果我以下面的方式进行,它会给我一个x未初始化的错误。我知道这是因为我在另一个if循环中为x赋值,但我不知道如何修复它。任何人都可以帮助我吗?
@Override
public void onClick(View v) {
int x;
int lowBound;
int highBound;
if (v==start) {
x=(int) Math.random()*1000;
myTextView2.append("Random guess is "+String.valueOf(x));
}
if (v==higher) {
lowBound=x;
x= (int) (lowBound+Math.random()*(1000-lowBound));
myTextView2.append(" New guess is "+String.valueOf(x));
}
if (v==lower) {
highBound=x;
x=(int) (highBound-Math.random()*(1000-highBound));
myTextView2.append(" New guess is "+ String.valueOf(x));
}
}
答案 0 :(得分:0)
如果v
等于start
以外的任何内容,则该变量将分配给lowerBound
或upperBound
未初始化。
除非我读错了,否则这实际上表明你的逻辑存在缺陷:
每次调用onClick
时,x
都将重置v == start
,或者在未启动时使用x
。
onClicks
应该在方法之外声明,因为你需要它在computeBicliques <- function(graph, k, l) {
vMode1 <- c()
if (!is.null(V(graph)$type)) {
vMode1 <- which(!V(graph)$type)
vMode1 <- intersect(vMode1, which(degree(graph) >= l))
}
nb <- get.adjlist(graph)
bicliques <- list()
if (length(vMode1) >= k) {
comb <- combn(vMode1, k)
i <- 1
sapply(1:ncol(comb), function(c) {
commonNeighbours <- c()
isFirst <- TRUE
sapply(comb[,c], function(n) {
if (isFirst) {
isFirst <<- FALSE
commonNeighbours <<- nb[[n]]
} else {
commonNeighbours <<- intersect(commonNeighbours, nb[[n]])
}
})
if (length(commonNeighbours) >= l) {
bicliques[[i]] <<- list(m1=comb[,c], m2=commonNeighbours)
}
i <<- i + 1
})
}
bicliques
}
之间“生存”。