比较两个数字是否都是正的,或者都是负的,
如果两个数的符号相同(都是正数,都是负数),则输出 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"); } } } }