当前位置: 移动技术网 > IT编程>开发语言>Java > java学习之路——判断回文(String的应用)

java学习之路——判断回文(String的应用)

2020年07月12日  | 移动技术网IT编程  | 我要评论

一、切割字符成两段

切割字符成两端,将第二段倒序储存 然后经行比较

代码如下

public static void isPalindrom(String str) {
		StringBuilder temp1 = new StringBuilder();
		StringBuilder temp2 = new StringBuilder();
		//char ch ;
	if (str.length()%2 == 0) {//字符串长度为偶数
			
			for (int i = str.length(); i > str.length()/2; i--) {
				temp1.append(str.charAt(i-1));
			}
			System.out.println(temp1);
			for(int i = 0 ; i < str.length()/2; i++)
				temp2.append(str.charAt(i));
			System.out.println(temp2);
	
		}else{//字符串长度是奇数 , 中间字符不影响判断
			
			for (int i = str.length(); i > str.length()/2 + 1; i--) {
				temp1.append(str.charAt(i-1));
			}
			System.out.println(temp1);
			for(int i = 0 ; i < str.length()/2; i++)
				temp2.append(str.charAt(i));
			System.out.println(temp2);
		}
		if(temp1.toString().equals(temp2.toString())) {
			System.out.println("是回文!");
		}else {
			System.out.println("不是回文!");
		}
	}
	

二、利用charAt 进行比较

public static void judgeStr(String str) {
		int begin = 0;     //字符串的第一位
		int end = str.length() - 1; //长度 - 1
		for(; begin < end ;begin++ , end -- ) {
			if(str.charAt(begin)!=str.charAt(end)) {
				System.out.println("不是回文!");
				return;
			}

		}
		System.out.println("是回文!");
	}

三、利用StringBuffer的reverse方法进行比较

StringBuffer类里提供了方法reverse()的作用就是将字符串翻转

public static void judgeStr2(String str) {
		String orgStr = str;
		StringBuffer sb = new StringBuffer(str);
		String reStr = sb.reverse().toString();
		if(orgStr.equals(reStr)) {
			System.out.println("是回文!");
			
		}else {
			System.out.println("不是回文!");
		}
	}

测试代码:

public static void judgeStr2(String str) {
		String orgStr = str;
		StringBuffer sb = new StringBuffer(str);
		String reStr = sb.reverse().toString();
		if(orgStr.equals(reStr)) {
			System.out.println("是回文!");
			
		}else {
			System.out.println("不是回文!");
		}
	}

运行截图:

在这里插入图片描述
在这里插入图片描述

本文地址:https://blog.csdn.net/weixin_44420328/article/details/107269869

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网