package arithmetic;
/**
* 判断一个是不是回文数。
* 判断是否为回文内容
* 给一个数求出是几位数
*
* @author sunRainAmazing
*
*/
public class PalindromeNumber {
public static void main(String[] args) {
isPalindromeNumber_array(1);
isPalindromeNumber_array(10001);
isPalindromeNumber_array(123433);
isPalindromeNumber_charAt("天连水尾水连天");
isPalindromeNumber_charAt("雾锁山头山不锁雾");
isPalindromeNumber_substring("231132");
isPalindromeNumber_substring("222332");
isPalindromeNumber_toCharArray(222332);
isPalindromeNumber_toCharArray(10001);
}
/**
* 判断一个输入的int类型的数是否为回文数
* 给一个数求出是几位数---见2、while区块代码
* 逆序输出这个数---见3、for循环体
* @param number 判断的数字
*/
public static void isPalindromeNumber_array(int number){
//1、定义出需要的变量
int temp,flag;
flag=temp=number;
int count=1;
//2、求出相应的位数
while((number=number/10)!=0){
count++;
}
//3、将各位数加入到数组中去
// ---可以通过for在将其赋值的结果输出
int[] arr=new int[count];
for (int i = 0; i < count; i++) {
arr[i]=temp%10;
temp/=10;
}
//4、进行判断对应的数是否相等
for (int i = 0; i < count; i++) {
if(arr[i] != arr[count-1-i]){
System.out.println(flag+" 不是回文数");
return ; //这里不能使用break
}
}
System.out.println(flag+" 是回文数");
}
/**
* 利用String字符串的相应方法
* 主要用到的方法:
* 求长度:.length()方法
* charAt(int index) 返回指定索引处的 char 值。
*
* @param number
*/
public static void isPalindromeNumber_charAt(String str){
//将其转为数组
int length=str.length();
for (int i = 0; i < length/2; i++) {
if(str.charAt(i)!=str.charAt(length-1-i)){
System.out.println(str+" --->不是回文内容");
return;
}
}
System.out.println(str+" --->是回文内容");
}
/**
* 利用String字符串的相应方法
* 主要用到的方法:
* length() 计算字符串的长度
* String substring(int beginIndex, int endIndex)
* 返回一个新字符串,它是此字符串的一个子字符串。
* 区间 [a,b) 为前闭后开,取前不取后
* equals() 判断两个字符串是否相等
* @param number
*/
public static void isPalindromeNumber_substring(String str){
//将其转为数组
int length=str.length();
for (int i = 0; i < length/2; i++) {
if(!str.substring(i, i+1).equals(str.substring(length-1-i, length-i))){
System.out.println(str+" --->不是回文内容");
return;
}
}
System.out.println(str+" --->是回文内容");
}
/**
* 利用String字符串的相应方法
* char[] toCharArray()
* 将此字符串转换为一个新的字符数组。
* @param number
*/
public static void isPalindromeNumber_toCharArray(int number){
//将其转为数组
char[] arr=(number+"").toCharArray();
for (int i = 0; i < arr.length; i++) {
if(arr[i]!=arr[arr.length-1-i]){
System.out.println(number+" 不是回文数");
return;//注意这里 不能使用break
}
}
System.out.println(number+" 是回文数");
}
}
判断一个数是否为回文数,给一个数求出是几位数
最新推荐文章于 2021-09-23 16:28:40 发布