JAVA三目运算符问题
JAVA里面我现在用Scanner输入,我要输入的数是1,3,5,7,9中间的任意一个数,都显示成功,其余的数都显示失败怎么表示...
JAVA里面我现在用Scanner输入,我要输入的数是1,3,5,7,9中间的任意一个数,都显示成功,其余的数都显示失败怎么表示
展开
1个回答
展开全部
1、三目运算符 (表达式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值
2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);结果为i = 8.因为5 > 3为true,所以i = 5 + 3.
3、根据三目运算符的从右到左的结合性,我是这样划分的
year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));
所以应该从最右边的那个表达式开始计算,结果应该是1、0、-1中的一个值。
以上纯属个人理解。没搞清楚你这个算法到底是什么意义。。。。还有你的compare()方法不能声明为静态。
2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);结果为i = 8.因为5 > 3为true,所以i = 5 + 3.
3、根据三目运算符的从右到左的结合性,我是这样划分的
year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));
所以应该从最右边的那个表达式开始计算,结果应该是1、0、-1中的一个值。
以上纯属个人理解。没搞清楚你这个算法到底是什么意义。。。。还有你的compare()方法不能声明为静态。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询