如果不赶紧写写就真的忘了,废话少说,开始:
需求:从键盘输入多个整数,输入“quit”代表结束输入,把所有输入的整数倒序排列。
分析:
1.从键盘输入多个整数:首先,“多个整数”,也就是不确定有多少条元素,所以我们用集合(记得Ctrl+O导包)。
新建了一个集合后,出现了报错,当鼠标放在错误的地方,会提示出现Add unimplemented methods来添加未实现的方法,我们点击它。
错误解除。
2.提示用户输入数字,以“quit”结束,用Scanner方法监听用户键盘输入;
3.不确定有多少元素,用一个while死循环,随后通过一个if函数来判断用户输入的是否是“quit”,是则跳出循环,否则把字符串转换成Integer类型,并添加到set集合中;
4.输出set集合;
你以为这样就完了?我们先来看一下结果:
咦?怎么回事?怎么只有一个数字?我们往上翻下代码,原来问题在这里:
这里需要说明一下:这个比较器默认“return 0;”,“return 0;”则代表只返回一个数;而“return 正数;”则代表正序输出;“return 负数;”则代表倒序输出。不信我们来看看:
“return 1;” 情况:
“return -1;” 情况:
5.综上所述,要想把所有输入的数倒序排列,我们将比较器的返回值改成-1即可。
以下是完整代码:
结语:感谢您百忙之中阅读本篇文章,文章中如有错误的地方,欢迎批评指正,感谢!