做ACM练习题,用Java语言,一个问题困扰好久了:
举个例子:输入一系列整数,整数的个数不固定:0 1 2 3 4 然后将所输入的整数求平方并逆序输出:16 9 4 1 0
我的问题是,既然题目中没有给出限制条件来判断何时输入结束(OJ上输入时是文件输入,自然有结尾,但如果在控制台上输入就没有了),用(Scanner)hasNextInt()之类的函数判断也没用,那怎么输出正确结果呢?
谢谢各位大虾了~~能解决的话分全给了,o(︶︿︶)o 唉~~
(注:以前接到过使用特殊字符如'\n'或者空格,或者使用特殊数字如-1等来判断输入结束的答案,但由于题目输入形式已经固定,不像自己写软件之后要求客户输入什么来结束程序,自己不能另外加东西的,所以这些答案是不符合要求的)
举个例子:输入一系列整数,整数的个数不固定:0 1 2 3 4 然后将所输入的整数求平方并逆序输出:16 9 4 1 0
我的问题是,既然题目中没有给出限制条件来判断何时输入结束(OJ上输入时是文件输入,自然有结尾,但如果在控制台上输入就没有了),用(Scanner)hasNextInt()之类的函数判断也没用,那怎么输出正确结果呢?
谢谢各位大虾了~~能解决的话分全给了,o(︶︿︶)o 唉~~
(注:以前接到过使用特殊字符如'\n'或者空格,或者使用特殊数字如-1等来判断输入结束的答案,但由于题目输入形式已经固定,不像自己写软件之后要求客户输入什么来结束程序,自己不能另外加东西的,所以这些答案是不符合要求的)
解决方案 »
- 关于comparable接口的说法是否正确,大家看下。。
- finalize()方法什么时候执行?
- 使用JAVA连接mysql时出错 懂的进
- 求助 报错:Disconnected from the target VM, address: '127.0.0.1:4168', transport: 'socket'?
- 如何制作橡皮擦?告急!!
- 谁能帮我解答,我送第一个解答明白的100分
- jndi 和 tomcat(来者有分)
- 请各位都谈谈对跨平台的理解!!!!!
- 能在Eclipse中定义宏操作么?如果能的话,如何定义?
- 谁能帮忙解释一下getCodeBase().getHost()?最好有个例子
- 新人求解 ConcreteMediator类及其相关的类为什么在api找不到
- java版考试系统,单机版和网络版都行
实现大体功能就行了吧,比如说将这些数放在运行时的参数放进去就行了.然后使用main方法里的String数组拿这些整数.
有时候输入的数据也需要换行,那样如果换行就结束的话也就不对了,呵呵,不过谢谢~~
LZ只要在WHILE判断里判断是否到文件结束 也就是用Scanner.hasNext方法
在循环体里收集输入
然后再统一计算 最后再倒序输出就行了
OJ的评判机制是先将通过一个文件内容作为输入(所以才有文件结尾)
然后把你的输出重定向到一个文件
用你的输出和标准输出(也就是用标准程序跑的输出)对比 最后得出你是否AC
所以只要最后的输出对 不管什么时候输出的(也就是先于下一输入还是在所有输入之后) 都可以AC
你是说只要程序正确,即使控制台里显示不了结果也能AC吗?我之前用Scanner.hasNext()之类的函数来判断感觉都没用,其他题能找找结束标志,但是像这类的题只有先收集了所有输入之后再输出其实现在也感觉Java做ACM题不是很方便,毕竟那些题要求的只是解决问题,求出正确结果就行,呵呵
比如你说的这道题 你可以先把所有的输入 存到数组里 然后反向计算 一边计算一边输出 也可以反向计算然后把结果存在数组里 最后一器输出 只要输出的结果与标准输出文件一致就行
JAVA有JAVA的优势 正式比赛JAVA可以获得3倍时间 还有大整数和高精度类库 直接导致这几年没有大整数和高精度问题了 原来正式比赛有时还需要手敲大整数的