判断一个字符串数组中的字符串是否对称

it2022-05-05  257

分析以下需求,并用代码实现: (1)定义数字字符串数组{“010”,“3223”,“666”,“7890987”,“123123”} (2)判断该数字字符串数组中的数字字符串是否是对称的(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推),并逐个输出,如:010 是对称的,3223 是对称的,123123 不是对称的 (3)最终打印该数组中对称字符串的个数

方法一:

public class Demo1 { /** 判断字符串是否对称,对称返回true,不对称返回false */ public static boolean isSymmetry(String str) { // 将要判断的字符串变成字符数组 char[] cArray = str.toCharArray(); for (int i = 0; i < cArray.length - i - 1; i++) { if (cArray[i] != cArray[cArray.length - i - 1]) { return false; } } return true; } public static void main(String[] args) { String[] strArray = { "010", "3223", "666", "7890987", "123123" }; int count = 0; for (int i = 0; i < strArray.length; i++) { if (isSymmetry(strArray[i])) { System.out.println(strArray[i] + "是对称的"); count++; } else System.out.println(strArray[i] + "不是对称的"); } System.out.println("该数组中对称字符串的个数为:" + count); } }

方法二:

public class Demo2 { public static void main(String[] args) { String[] strArray = { "010", "3223", "666", "7890987", "123123" }; StringBuilder sb = null; int count = 0; for (String str : strArray) { sb = new StringBuilder(str); if (sb.reverse().toString().equals(str)) { System.out.println(str + "是对称的"); count++; } else System.out.println(str + "不是对称的"); } System.out.println("该数组中对称字符串的个数为:" + count); } }

效果图:


最新回复(0)