【发布时间】:2018-02-21 13:31:02
【问题描述】:
这是我用于搜索调用polyline 方法的两个地方的代码。当我的editext Tabaco - Malinao 调用该方法时,它与 Tabaco-Bacacay、Tabaco-Santo Domingo、Tabaco-Malilipot 的方法相同。但是当我的edittext 是 Malilipot-Santo Domingo, Santo Domingo-Bacacay 时,它总是要求第一个条件 (Tabaco-Malinao) 而不是他们自己的条件。
可能是条件错误?还是我正在使用的逻辑运算符?
我的理解是,它需要先出现而不是正确地取等号。 这可能是错误的。
String origin = etOrigin.getText().toString();
String destination = etDestination.getText().toString();
if (origin.equals("Tabaco") == destination.equals("Malinao") && origin.equals("Malinao") == destination.equals("Tabaco")) {
ttom();
Toast.makeText(getApplicationContext(), "tabaco malinao", Toast.LENGTH_SHORT).show();
} else if (origin.equals("Tabaco") == destination.equals("Bacacay") && origin.equals("Bacacay") == destination.equals("Tabaco")) {
ttob();
Toast.makeText(getApplicationContext(), "tabaco bacacay", Toast.LENGTH_SHORT).show();
} else if (origin.equals("Tabaco") == destination.equals("Santo Domingo") && origin.equals("Santo Domingo") == destination.equals("Tabaco")) {
ttosto();
Toast.makeText(getApplicationContext(), "tabaco sto domingo", Toast.LENGTH_SHORT).show();
} else if (origin.equals("Tabaco") == destination.equals("Malilipot") && origin.equals("Malilipot") == destination.equals("Tabaco")) {
ttomali();
Toast.makeText(getApplicationContext(), "tabaco malilipot", Toast.LENGTH_SHORT).show();
} else if (origin.equals("Malilipot") == destination.equals("Santo Domingo") && origin.equals("Santo Domingo") == destination.equals("Malilipot")) {
malitosto();
Toast.makeText(getApplicationContext(), "malilipot sto domingo", Toast.LENGTH_SHORT).show();
} else if (origin.equals("Malilipot") == destination.equals("Bacacay") && origin.equals("Bacacay") == destination.equals("Malilipot")) {
malitobac();
Toast.makeText(getApplicationContext(), "malilipot bacacay", Toast.LENGTH_SHORT).show();
} else if (origin.equals("Santo Domingo") == destination.equals("Bacacay") && origin.equals("Bacacay") == destination.equals("Santo Domingo")) {
bactosto();
Toast.makeText(getApplicationContext(), "sto domingo bacacay", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Invalid input!", Toast.LENGTH_SHORT).show();
}
【问题讨论】:
-
为什么每个花蕊都用&&连接?你想使用逻辑或 || 吗?
-
我已尝试将 && 更改为 ||而不是将 == 更改为某些东西,这就是我犯错误的地方。因为我认为原点应该等于目的地
标签: java android if-statement logical-operators