回文判断 java

先上代码

package cn.ztl.five;

import java.util.Scanner;

public class Palindrome {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);

		System.out.print("Enter a string:");
		String s = input.nextLine();
		int _low = 0;
		
		int _high = s.length() - 1;
		
		boolean isPalindrome = true;
		while(_low < _high) {
			if(s.charAt(_low) != s.charAt(_high)) {
				isPalindrome = false;
				break;
			}
			_low++;
			_high--;
		}
		if(isPalindrome)
			System.out.println(s + " is a palindrome");
		else
			System.out.println(s + " is not a palindrome");
			
	}
}

分析代码

这是个判断回文 那么我们需要记录两个下标,所以 我们定义了_low 来记录字符串首的下表,用_high来记录字符串尾的下标,那么我们只需要循环比较它们是不是相同即可,如果相同 继续循环,不然的话,我们跳出 并打印返回false,但我们还需要一个终止循环条件,_low < _high 可以想象,它们每次循环它们的差值减少2,所以不管字符串是单数还是双数,都是满足的。

猜你喜欢

转载自blog.csdn.net/qq_40435621/article/details/83473971