【发布时间】:2022-07-08 01:19:09
【问题描述】:
// Add edges
public void addEdge(int i, int j) {
adjMatrix[i][j] = true;
adjMatrix[j][i] = true;
}
// Remove edges
public void removeEdge(int i, int j) {
adjMatrix[i][j] = false;
adjMatrix[j][i] = false;
}
// Print the matrix
public String toString() {
StringBuilder s = new StringBuilder();
for (int i = 0; i < numVertices; i++) {
s.append(i + ": ");
for (boolean j : adjMatrix[i]) {
s.append((j ? 1 : 0) + " ");
}
s.append("\n");
}
return s.toString();
}
解释代码中的以下行:
for (boolean j : adjMatrix[i]) {
s.append((j ? 1 : 0) + " ");
使用布尔运算符的增强 for 循环不清楚。 如何理解它以及它是如何工作的? 以上代码由 programiz.com 获取。 以上代码与邻接矩阵有关。
【问题讨论】:
-
programiz.com/java-programming/enhanced-for-loopprogramiz 对此语法有自己的指南,是否有不清楚的具体部分?
-
我不明白什么是不清楚的。你不明白
for循环一般是怎么工作的,你不知道三元运算符,你不明白+ " "吗? -
j ? 1 : 0是一个条件运算符。它几乎说如果j为真,则使用1,否则使用0。然后使用+ " "将这些数字“转换”为带有空格的字符串。 -
查看The for Statement页面的最后一部分。
标签: java loops foreach boolean-expression adjacency-matrix