簡體   English   中英

在 Java 中反轉字符串中字符大小寫的更好方法

[英]Better way to invert cases of characters in a string in Java

作為一個剛開始接觸 Java 編程的新手 Java 程序員,我在試圖找到解決這個問題的方法時完全筋疲力盡。 我目前正在學習的一門課程的作業要求我創建一個 Java class 具有一種“反向”方法,該方法返回當前字符串的字符串的新版本,其中大小寫被反轉(即,小寫到大寫和大寫到小寫)用於在給定條件中指定的字母字符。 假設我要反轉“abc, XYZ; 123。” 使用 reverse("bcdxyz@3210."),它必須返回 "aBC, xyz; 123."。 (PS:class 忽略數字和特殊字符,變量“myString”是“abc, XYZ; 123.”所在的位置。)。 到目前為止,我只設法返回“aBC, XYZ; 123”。 使用下面的代碼。 我在這里錯過了什么嗎?

public String reverse(String arg) {
    // TODO Implement method 
    String arg_no_sym = arg.replaceAll("[^a-zA-Z0-9]","");
    String arg_perfect = arg_no_sym.replaceAll("\\d","");
    
    if (myString != null) {
        char[] arrayOfReplaceChars = arg_perfect.toCharArray();
        char[] arrayOfmyString = myString.toCharArray();
        for (int i = 0; i < arg_perfect.length(); i++) {
            myString = myString.replace(String.valueOf((arrayOfReplaceChars[i])), String.valueOf((arrayOfReplaceChars[i])).toUpperCase()); 
        }
        return myString;
    }
    else {
        return "";
    }
}

如何使用方法isUpperCase()isLowerCase()檢查字母的大小寫,然后使用toUpperCase()toLowerCase()更改它們的大小寫?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM