回文数的判断(JAVA)

题目概述:

编写程序:判断给定的字符串是否为回文字符串。回文字符串“从前向后读”和“从后向前读”都相同

分析:

首先要判断什么样的形式是回文字符串。根据题意,qweewq就是回文字符串,从后往前,从前往后的读法一样。而形如qweewQ就不在回文字符串范围内。

很明显,要解此题,要分两种情况,即奇数个数的回文与偶数个数的回文(需要考虑到,但其实计算起来公式相同)。

我们可以分别从头从尾遍历字符串,用count来记录,当对应位置的字符相同时,count+1。

显而易见,设字符个数n,若count == n/2 为回文数(奇数偶数相同)。

举个例子,若n = 6,当count == 3时为回文字符串;若n=7,当count == 3时为回文字符串。

代码如下:

public static void main(String[] args){
		Scanner scanner = new Scanner(System.in);
		String string = scanner.next();  //输入字符
		int count = 0;

//i从头,j从尾遍历,一直到中间
		for(int i = 0, j = string.length() - 1; i < string.length() / 2; i++, j-- ){
			if(string.charAt(i) == string.charAt(j)){  //判断对应位置字符是否相同
				count++;                              //计数
			}
		}
		
		if(count == string.length() / 2) System.out.print("yes"); //判断是否为回文
		else System.out.print("no");
		
		

运行结果如下: 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱墩墩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值