比数字,要求不要使用> ,<等比较符号
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");
}
}
}
}
如果两个数的符号相同(都是正数,都是负数),则输出 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");
}
}
}
}
相关文章推荐
- 编写一个程序,将两个字符串s1和s2比较,如果s1 > s2,输出一个正数;s1 = s2,输出0,;s1 < s2输出一个负数。不要使用strcmp函数。
- 记住:不要使用!=,~=,^=,<>,=与NULL做比较
- ArrayList的使用和List<T>的比较
- C#使用比较操作符(!=、<、>、<=、>=)的字符串构造Lambda表达式树,并生成委托执行
- 在使用<script>嵌入JavaScript代码时,不要在代码中的任何地方出现"</script>"字符串
- c#初学-泛型ArrayList的使用和List<T>的比较
- error C2648: “MyDoublyLinkedlist<int>::length”: 将成员作为默认参数使用要求静态成员
- 在ibatis动态sql中的< 、> 、<>等比较符号的处理
- 在xml中的一些特殊符号的使用如:> < &等等
- js 判断的坑,不要 使用 数字 特别是单个 数字进行比较
- xjh struts标签版本比较老的,<s:iterator >没有var属性的嵌套循环 使用<s:property value='#id.xxx'>
- Python: 渐进猜数字游戏 <7> 数字比较 与 猜数字游戏V0.1版
- java list<integer>一组不连续的数字进行每10个一组分组,要求各组元素之和差值最小。list%10>=5的单独算一组,否则归并到任意一组。
- if判断与比较操作符gt、lt、eq等的使用
- ArrayList的使用和List<T>的比较
- 使用Linq对Hashtable和Dictionary<T,T>查询的效率比较
- SoapUI使用注意事项——在<!CDATA>节点之前不要有空格
- hash的简单使用<找数字>
- double由于是双精度,所以比较大小不能直接用>,<或者=,需要使用BigDecimal,具体看例子
- 不要使用vector<bool>