java中如何判断一个数是否为正整数(多种种方式比较有意思)对时间处理也可以
来源:互联网 发布:wms钢铁加工软件 编辑:程序博客网 时间:2024/05/16 07:56
这是在贴吧看到的一个小问题.当时回了一个.后来又引来很多朋友的讨论.感觉有点启发.所以写出来分享一下
其中思路回来倒了两次
public class ddd {public static void main(String[] args) {double tmp, number;Scanner one = new Scanner(System.in);System.out.print("请输入一个正整数:");number = one.nextDouble();// System.out.println(number);number = 9.1tmp = number * 2;// System.out.println(tmp); tmp 18.2// System.out.println((int)tmp);18// 判断这个数是不是正整数while (number <= 0 || tmp % 2 != 0)// 如何将9.0也当成一个正整数?????????????{System.out.print("您输入的数字不是正整数,请重新输入:");number = one.nextDouble();}/*if (number == 2 || number == 3) {System.out.println((int) number + "是一个素数!");}*/}}
我开始认为强转一下即可,后来发现如果强转以后用会出问题(如取值范围和包装类之间自动取舍等),
所以想到了用String转换,String的强大可以做很多事.但也增加了代码量.可以使用简化版:
还加上string正则表达式,format方法 就比较简单了.不仅对整数,对时间等都可以解决一定问题.如下:
Data data = new Data();String str=String.fromat("%te",date);
这种判断很强大的.不是吗?"%d" 就是判断是否整数 String aa= "432.34";
int a =34;
String str=String.format("%b",aa);
System.out.println(str); //true
System.out.println("%d",a/2);
double a =34.33;String a2=String.format("%e",a/2);System.out.println(a2);//转为十进制 System.out.println(String.format("%s", a2));//转为字符串
要记的就是%+e,a,d这些.有兴趣可以多试一下.
会常遇到:java.util.IllegalFormatConversionException
后来又有人写了下面强的.这个真不错.我当时没想到.
if(x - (int)x < 0.0000001) //精度自己设置
整数
else
非整数
有兴趣的朋友可以来说说.
0 0
- java中如何判断一个数是否为正整数(多种种方式比较有意思)对时间处理也可以
- 如何判断一个值 是否为正整数
- 如何判断一个正整数数x是否为2的幂
- 输入一个正整数,判断其是否为回文数
- 【笔试】Java判断一个正整数是否为质数(素数)。
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- 如何判断一个数是否为素数
- java 多种方式判断文件是否为图片
- 判断一个数是否是正整数
- 判断一个正整数是否是回文数
- 判断一个正整数是否是回文数
- 【java】判断一个数是否为梅森数
- java 判断一个数是否为素数
- 对比MBR和GPT分区概念
- java笔记——构造方法、匿名对象
- Strategy
- 《struts2实战》读后感
- 数据库未来的5大预测
- java中如何判断一个数是否为正整数(多种种方式比较有意思)对时间处理也可以
- android之service简述
- JS判断客户端操作系统(具体到版本和型号)
- Linux Shell 通配符、元字符、转义符使用实例介绍
- 如何让Tornado来帮你做交叉编译
- hibernate uniqueResult方法
- 通过图片url生成Bitmap对象和Drawable对象
- poj 2046 Power Strings KMP
- 在Windows Azure虚拟主机上宿主Byteart Retail案例程序