Kin*_*mph 0 java arrays if-statement
可能重复:
Java字符串比较?
我对Java很新,并对我的if/else语句无法执行的原因有疑问.该方法的目标是基于从文本文件读入的符号加载2D阵列.符号将转换为数字以填充数组.据我所知,用于确定if或if/else语句是否应该执行的布尔逻辑是合理的,但它们都没有.谢谢您的帮助.
码:
public void loadText(Scanner sc) {
for (int row = 1; row <= grid.length; row++) {
for (int col = 1; col <= grid[row].length; col++) {
String x = sc.next();
if ((x == " ") && (row <= 10)) {
grid[row][col] = 0;
} else if ((x == "*") && (row <= 10)) {
grid[row][col] = 1;
} else if ((x == "$") && (row <= 10)) {
Arrays.fill(grid[row], 0);
} else if (row >= 11) {
break;
}
}
Run Code Online (Sandbox Code Playgroud)
对于字符串比较代码,您需要将==替换为.equals(),例如
if (" ".equals(x) && (row <=10)) {
}
Run Code Online (Sandbox Code Playgroud)
==检查两个对象是否是同一个对象,equals()方法检查它们是否代表相同的东西.在Java中,equals()可以被类重写以执行正确的操作,但==不能.
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |