public class StringUtils {
// staticメソッド - 与ãˆã‚‰ã‚ŒãŸæ–‡å—列ãŒå›žæ–‡ã‹ã©ã†ã‹ã‚’判定ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static boolean isPalindrome(String str) {
// 入力文å—列ã‹ã‚‰éžã‚¢ãƒ«ãƒ•ァベット文å—を削除ã—ã€å°æ–‡å—ã«å¤‰æ›
str = str.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
// æ–‡å—列をå‰å¾Œã‹ã‚‰æ¯”較ã—ã¦å›žæ–‡ã‹åˆ¤å®š
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
// staticメソッド - 与ãˆã‚‰ã‚ŒãŸæ–‡å—列を逆ã•ã¾ã«ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static String reverseString(String str) {
// æ–‡å—åˆ—ã‚’é€†é †ã«ã—ã¦æ–°ã—ã„æ–‡å—列を生æˆ
StringBuilder reversed = new StringBuilder();
for (int i = str.length() - 1; i >= 0; i--) {
reversed.append(str.charAt(i));
}
return reversed.toString();
}
// staticメソッド - 与ãˆã‚‰ã‚ŒãŸæ–‡å—åˆ—å†…ã§æŒ‡å®šã•ã‚ŒãŸæ–‡å—ãŒå‡ºç¾ã™ã‚‹å›žæ•°ã‚’æ•°ãˆã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public static int countOccurrences(String str, char target) {
// æ–‡å—åˆ—å†…ã§æŒ‡å®šã•ã‚ŒãŸæ–‡å—ãŒå‡ºç¾ã™ã‚‹å›žæ•°ã‚’カウント
int count = 0;
for (char ch : str.toCharArray()) {
if (ch == target) {
count++;
}
}
return count;
}
public static void main(String[] args) {
// テスト
String palindromeTest = "A man, a plan, a canal, Panama!";
System.out.println("Is \"" + palindromeTest + "\" a palindrome? " + isPalindrome(palindromeTest));
String reverseTest = "Hello, World!";
System.out.println("Reversed \"" + reverseTest + "\": " + reverseString(reverseTest));
String countTest = "Programming is fun!";
char targetChar = 'g';
System.out.println("Occurrences of '" + targetChar + "' in \"" + countTest + "\": " + countOccurrences(countTest, targetChar));
}
}
ã“ã®è§£ç”例ã§ã¯ã€StringUtilsクラスã«3ã¤ã®é™çš„メソッドãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ãれãžã‚ŒãŒå›žæ–‡åˆ¤å®šã€æ–‡å—åˆ—é€†è»¢ã€æ–‡å—ã®å‡ºç¾å›žæ•°ã®ã‚«ã‚¦ãƒ³ãƒˆã‚’行ã„ã¾ã™ã€‚mainメソッドã§ã¯ã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’テストã—ã¦ã„ã¾ã™ã€‚
「012 staticメンãƒã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント