153 - 判断回文
Time Limit: 1000 Memory Limit: 65535
Description
用户从键盘输入一个整数,程序将判断这个数是几位数并输出其位数,并判断这个数是否是回文数,是则输出Y,否则输出N。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。
Input
整数
Output
几位数
是否是回文数
Sample Input
12121
Sample Output
5
Y
HINT
Pre Append Code
Post Append Code
package lianxi;
import java.util.Scanner;
public class Main {
//方法一:reverse()-->equals()
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
StringBuffer str = new StringBuffer(scan.next()); //StringBuffer
String strs = str.toString();//类型转化,StringBuffer至String,StringBuffer和String不是同一种类型,不可强制转换。
if (strs.equals(str.reverse().toString()))//StringBuffer和String不是同一种类型,不能直接进行对比
{
System.out.println(str.length());
System.out.println("Y");
}
else
{
System.out.println(str.length());
System.out.println("N");
}
}
/*
* 从字符串Str.length()开始向两端移动进行对比 ,boolean用来确定一个返回值判断是否回文
public static void main(String [] args) {
Scanner input = new Scanner(System.in);
try{
System.out.println("Enter a three-digit interger:");
String integer = input.next();
int i = integer.length()/2-1;//从字符串中间往左
int j = integer.length()/2+1;//从字符串中间往右
boolean c = true;//默认为真
for(;i >= 0 || j < integer.length();i--,j++){//遍历整个字符串判断是否为回文
if(integer.charAt(i) != integer.charAt(j))
c = false;
else
c = true;
}
if(c == false)
System.out.println(integer+" is not a palindrome");
else
System.out.println(integer+" is a palindrome");
}finally{
input.close();
}}*/