java - 如何判断字符串中的某个字符是否为大写

标签 java android if-statement break continue

我检查了有关我的问题的所有其他 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/

相关文章:

java - 正则表达式来找到这种模式?

java - 如何在 EasyMock 中验证方法调用并忽略返回值?

android - android 证书指纹 sha1 可以在 firebase 和 Google Place API 中使用吗?

java - 嵌套 if 语句在另一个嵌套 if 语句中未捕获

vba - 我使用 OR 在 VBA 上形成多个条件 IF ELSE 语句,它不起作用

java - "Could not find class android.transition.Transition"按返回键时异常

java - 无法以 AVRO 格式从 Kafka Producer 发送 GenericRecord 数据

android - 在 gradle 7.2 中在哪里以及如何添加类路径依赖项?

java - 如何知道 firebase 中的值是增加还是减少?

javascript - 在 JavaScript 中重定向 : IF GET parameter key allow to stay on the page; otherwise redirect to another page