题目
有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字。
编写一个函数,判断某数字是否是回文数字。
java代码
package d0225;
/**
* @description: ${description}
* @create: 2019-02-25
**/
public class HuiWen {
public static boolean huiwen(int n){
String str= String.valueOf(n);
int length = str.length();
int a=0;
for(int i=0;i<length/2;i++){
if (str.charAt(i)==str.charAt(length-i-1)){
a++;
}
}
return a==str.length()/2;
}
public static boolean huiwen2(int n){
String str= String.valueOf(n);
int length = str.length();
boolean flag=false;
for(int i=0;i<length/2;i++){
if (str.charAt(i)==str.charAt(length-i-1)){
flag=true;
}else {
return false;
}
}
return flag;
}
public static void main(String[] args) {
int a=123321;
int b=123696321;
int c=1233219;
System.out.println(huiwen(a));
System.out.println(huiwen(b));
System.out.println(huiwen(c));
System.out.println(huiwen2(a));
System.out.println(huiwen2(b));
System.out.println(huiwen2(c));
}
}
结果
心得
1.如何遍历String对象里面的每一个字符串:利用for循环和str.charAt(i)
2.str.charAt(i)==str.charAt(length-i-1)…记住这里必须要有-1,比如length=3的数组a[0]=a[2]
3.length/2可以节省时间,提高效率