我检查了有关我的问题的所有其他 stackoverflow 链接,但那里的答案不起作用。所以我问一个类似的问题,希望得到不同的答案。 这是一个类的代码:
public String pozisyonHazirla(String param) {
String oynananHamle = param;
for (int n = 0; n < oynananHamle.length(); n++) {
if (oynananHamle.substring(n, 1).matches("[0-9]") || oynananHamle.substring(n, 1).matches(".")) {
String donothing="";
} else if (oynananHamle.substring(n, 1) == oynananHamle.substring(n, 1).toUpperCase()) {
sonuc = "Figür Hamlesi Yapıldı";
break;
} else {
sonuc = "Piyon hamlesi yapıldı";
break;
}
}
return sonuc;
}
问题是这部分代码不起作用,并且在 100% 的情况下迭代返回 else 结果,即为 sonuc 变量分配的值。
} else if (oynananHamle.substring(n, 1) == oynananHamle.substring(n, 1).toUpperCase()) {
sonuc = "Figür Hamlesi Yapıldı";
break;
我在不打开另一个线程的情况下的第二个问题是,在第一种情况下,如果“if”语句可行,有一个部分我不希望执行任何操作,因此我放置了类似“String donothing ="”;"的内容。有没有办法改进这段代码? 提前感谢您的回答和评论...
最佳答案
使用isUpperCase()
:
char c = 'A';
boolean upper = Character.isUpperCase(c); // true
关于未使用的 doNothing
代码块,请更改:
if (oynananHamle.substring(n, 1).matches("[0-9]") || oynananHamle.substring(n, 1).matches(".")) {
String donothing="";
} else if (oynananHamle.substring(n, 1) == oynananHamle.substring(n, 1).toUpperCase()) {
sonuc = "Figür Hamlesi Yapıldı";
break;
} else {
sonuc = "Piyon hamlesi yapıldı";
break;
}
至
if (oynananHamle.substring(n, 1).equals(oynananHamle.substring(n, 1).toUpperCase())) {
sonuc = "Figür Hamlesi Yapıldı";
break;
}
if (!(oynananHamle.substring(n, 1).matches("[0-9]") || oynananHamle.substring(n, 1).matches(".")) {
sonuc = "Piyon hamlesi yapıldı";
break;
}
编辑:
(完整代码)
public String pozisyonHazirla(String param) {
String oynananHamle = param;
String sonuc = "";
for (int n = 0; n < oynananHamle.length(); n++) {
if (oynananHamle.substring(n, 1).equals(oynananHamle.substring(n, 1).toUpperCase())) {
sonuc = "Figür Hamlesi Yapıldı";
break;
}
if (!(oynananHamle.substring(n, 1).matches("[0-9]") || oynananHamle.substring(n, 1).matches(".")) {
sonuc = "Piyon hamlesi yapıldı";
break;
}
}
return sonuc;
}
关于java - 如何判断字符串中的某个字符是否为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34124517/