java 判断一个字符串是否是对称字符串_5.34 判断一个字符串是否对称案例

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 18:51   907   0

import java.util.Scanner;

/*

* 判断一个字符串是否是对称字符串

* 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串

*

* 分析:

* 判断一个字符串是否是对称的字符串,我只需要把

* 第一个和最后一个比较

* 第二个和倒数第二个比较

* ...

* 比较的次数是长度除以2。

*/

public class StringBufferTest {

public static void main(String[] args) {

// 创建键盘录入对象

Scanner sc = new Scanner(System.in);

System.out.println("请输入一个字符串:");

String s = sc.nextLine();

// 一个一个的比较

boolean b = isSame(s);

System.out.println("b:" + b);

//用字符串缓冲区的反转功能

boolean b2 = isSame2(s);

System.out.println("b2:"+b2);

sc.close();

}

public static boolean isSame2(String s) {

return new StringBuffer(s).reverse().toString().equals(s);

}

public static boolean isSame3(String s) {

// 把字符串转成字符数组

char[] chs = s.toCharArray();

for (int start = 0, end = chs.length - 1; start <= end; start++, end--) {

if (chs[start] != chs[end]) {

return false;

}

}

return true;

}

public static boolean isSame(String s) {

boolean flag = true;

// 把字符串转成字符数组

char[] chs = s.toCharArray();

for (int start = 0, end = chs.length - 1; start <= end; start++, end--) {

if (chs[start] != chs[end]) {

flag = false;

break;

}

}

return flag;

}

}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP