java回数的判断
来源:互联网 发布:linux驱动开发 书籍 编辑:程序博客网 时间:2024/06/08 00:31
下面给出几种个人总结出来的回数判断方法,利用java代码做出详细的讲解:供参考
第一种方法通过数据结构的方法分别通过个十百千万位数字进行逐个比较,缺点代码较繁杂
java code:
import java.util.*;
import java.io.*;
public class Huishu
{
//利用数值的各位上面的值相等来判断是否是回数
public static void test(int num)
{
//计算个位数
int d1 = num%10;
//计算十位数
int d2 = num%100/10;
//计算百位数
int d3 = num%1000/100;
//计算千位数
int d4 = num%10000/1000;
//计算万位数
int d5 = num%100000/10000;
if(num > 99999 || num < 0)
{
System.out.println("请输入0-99999间的数字!");
}
else if(num<=99999 && num >=10000)
{
if(d1 == d5 && d2 == d4)
{
System.out.println(num + "是回数!");
}
else
System.out.println(num + "不是回数!");
}
else if(num<=9999 && num >=1000)
{
if(d1 == d4 && d2 == d3)
{
System.out.println(num + "是回数!");
}
else
System.out.println(num + "不是回数!");
}
else if(num<=999 && num >=100)
{
if(d1 == d3)
{
System.out.println(num + "是回数!");
}
else
System.out.println(num + "不是回数!");
}
else if(num<=99 && num >=10)
{
if(d1 == d2)
{
System.out.println(num + "是回数!");
}
else
System.out.println(num + "不是回数!");
}
else if(num < 10 && num >= 0)
{
System.out.println(num + "是回数!");
}
}
public static void main(String[] args)
{
try(
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader))
{
String buffer = null;
while((buffer = br.readLine()) != null)
{
if(buffer.equals("exit"))
{
System.exit(1);
}
int num = Integer.parseInt(buffer);
test(num);
}
}catch(IOException e)
{
e.printStackTrace();
}
}
}
第二种方法通过StringBuffer(线程安全的)或者StringBuilder(非线程安全的)提供的reverse()方法进行判断
java code:
import java.io.*;
public class Huishu2
{
public static void test(int num)
{
String str = String.valueOf(num);
StringBuilder sb = new StringBuilder(str);
if(sb.reverse().toString().equals(str))
{
System.out.println(num + "是回数");
}
else
{
System.out.println(num + "不是回数");
}
}
public static void main(String[] args)
{
System.out.println("请输入一个数:");
try(
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reader))
{
String buffer = null;
while((buffer = br.readLine()) != null)
{
if(buffer.equals("exit"))
{
System.exit(1);
}
int num = Integer.parseInt(buffer);
test(num);
}
}catch(IOException e)
{
e.printStackTrace();
}
}
}
第三种方法是通过提取字符的方式,比较字符之间是否相等的方法来判断
java code:
import java.util.*;
import java.io.*;
public class Huishu
{
public static boolean isHuishu(int num)
{
boolean flag = false;
String str = String.valueOf(num);
for(int i=0;i<=str.length()/2;i++)
{
if(str.charAt(i)!=str.charAt(str.length()-1-i))
{
flag = false;
break;
}
flag = true;
}
if(flag == true)
{
System.out.println("是回数");
}
else
{
System.out.println("不是回数");
}
return flag;
}
public static void main(String[] args) throws Exception
{
System.out.println("请输入一个数:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String buffer = null;
while((buffer = br.readLine()) != null)
{
if(buffer.equals("exit"))
{
System.exit(1);
}
else{
int num = Integer.parseInt(buffer);
isHuishu(num);
}
}
}
}
综上三种方法均能判断一个数是否为回数的判断,个人比较倾向第二种方法,简单易懂,哈哈哈哈~~~~
- java回数的判断
- java中奇偶数的判断
- java中奇偶数的判断
- Java判断两个数的大小
- java中奇偶数的判断
- java中奇偶数的判断
- java之判断输入的数是否是回文数
- java判断对称数
- java判断回文数
- java判断回文数
- Java-判断回文数
- java判断回文数
- java判断完数
- 完美数的判断
- 平方数的判断
- 回文数的判断
- 跳跃数的判断
- 回文数的判断
- handler自定义使用
- Objective-C笔试题
- 《设计师要懂的心理学》读书笔记(二)
- C# 文件下载四方法
- MySQL Cluster验证管理节点配置中内存是否超标的脚本
- java回数的判断
- 《设计师要懂的心理学》读书笔记(三)
- php中防止SQL注入的方法
- 【Cocos2d-x lua篇001】让Lua和C++牵手
- Cocos2d-x 实现委托机制
- Method类invoke方法的使用
- ural 1737 Mnemonics and Palindromes 3
- 异常安全的赋值运算符函数
- weblogic部署常见问题