您的位置:首页 > 编程语言 > Java开发

How to determine negative number and positive number in Java?

2011-12-11 22:22 357 查看
This is Java code:

package com.test.day13.num;

/**
* @author BigBird
* @date 2011-12-11 下午10:12:33
* @action 测试判断一个数是正数还是负数
*/
public class NumTest {
public static boolean positive(double f)
{
final boolean pos0[] = {true};
final boolean posn[] = {false, true};

if (f == 0.0)
return true;

while (true) {

// If f is in ]-1.0; 1.0[, multiply it by 2 and restart.
try {
if (pos0[(int) f]) {
f *= 2.0;
continue;
}
} catch (Exception e) {
}

// If f is in ]-2.0; -1.0] U [1.0; 2.0[, return the proper answer.
try {
return posn[(int) ((f+1.5)/2)];
} catch (Exception e) {
}

// f is outside ]-2.0; 2.0[, divide by 2 and restart.
f /= 2.0;

}

}

static void check(double f)
{
System.out.println(f + " -> " + positive(f));
}

public static void main(String args[])
{
for (double i = -10.0; i <= 10.0; i++)
check(i);
check(-1e24);
check(-1e-24);
check(1e-24);
check(1e24);
}
}


The output is:

-10.0 -> false
-9.0 -> false
-8.0 -> false
-7.0 -> false
-6.0 -> false
-5.0 -> false
-4.0 -> false
-3.0 -> false
-2.0 -> false
-1.0 -> false
0.0 -> true
1.0 -> true
2.0 -> true
3.0 -> true
4.0 -> true
5.0 -> true
6.0 -> true
7.0 -> true
8.0 -> true
9.0 -> true
10.0 -> true
-1.0E24 -> false
-1.0E-24 -> false
1.0E-24 -> true
1.0E24 -> true
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: