您的位置:首页 > 其它

比数字,要求不要使用> ,<等比较符号

2016-10-07 12:16 295 查看
比较两个数字是否都是正的,或者都是负的,

如果两个数的符号相同(都是正数,都是负数),则输出 Signs are not opposot

如果两个数的符号不相同(一正一负),则输出Signs are opposot

如果两个数都是0,则输出Signs can't be sure

要求:不允许使用>,<,>=,<=,==,!=等比较符

我们知道java并不像c或出 c++那样,在判断语句中直接填上一个数就行if(x),因此在不使用比较符的情况下,比较麻烦,我们知道java中的字符串比较是非常方便的,因此,我们可以把int型的数据转换成String 类型进行比较,在转换的过程中,我们需要注意

1.需要把int型的数据的绝对值转成String类型,这样可以判断这个数是正的还是负的

2.还得把这个数也转换成字符串,不能把绝对值转化的字符串和这个数本身比较,因为一个是String一个是int,两个数据是不相等的

具体代码如下:

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int x = sc.nextInt();
int y = sc.nextInt();

String xx = String.valueOf(Math.abs(x));
String yy = String.valueOf(Math.abs(y));
String xxx = String.valueOf(x);
String yyy = String.valueOf(y);

if (xx.equals("0") || yy.equals("0")) {
System.out.println("Signs can't be sure");
} else if ((xx.equals(xxx) && yy.equals(yyy))) {
System.out.println("Signs are not opposot");
} else if (!xx.equals(xxx) && !yy.equals(yyy)) {
System.out.println("Signs are not opposot");
} else {
System.out.println("Signs are opposite");
}

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  判断正负
相关文章推荐