我一直在尝试整天锻炼这个excersise,但没有任何运气。预先感谢您的帮助。Java读取.txt文件到数组
这里的问题
你要实现的方法是将每个整数存储在数字阵列 ,每个数组元素一个数字。我们将使用长度为50的数组 ,所以我们将能够存储多达50个数字的整数 长。我们必须小心如何存储这些数字。例如,考虑 ,例如存储数字38423和27.如果我们在 处存储这些数组的“前面”,并且该数组的索引0中的每个数字的前导数字,那么当我们将这些数字相加时, 我们可能会添加它们是这样的:
为了模拟值的这种向右移位,我们将每个值存储为 的整整50位的序列,但我们将允许号码有 前导0。例如,上面的问题转化为:
现在列正确对齐,我们有足够的空间在 前的情况下,我们甚至更长的号码添加到这些。
程序的数据将被存储在一个名为sum.txt的文件中。 对于您要解决的问题,输入文件的每一行都会有不同的添加问题。每行将有一个或多个整数加起来 。在这篇文章末尾看看输入文件 和你应该产生的输出。请注意,您为每条输入行生成一行 输出行,显示您在 正在解决的添加问题及其答案。您的输出还应该在 末端指示处理了多少行输入。您必须完全重现 此输出。
您应该使用第6章中描述的技术来打开一个文件, 逐行读取它,并处理每行的内容。在读取这些数字的 中,您将无法将它们读取为整数或长整数 ,因为它们中的很多都太大而无法以int或long存储。所以 你必须使用方法 next()调用字符串值来读取它们。那么你的第一个任务就是将一串数字 转换成一个50位数的数组。如上所述,您需要将 号码向右移动,并在前面加上前导0。字符串 方法charAt和方法Character.getNumericValue将有助于 解决这部分问题。
您将要添加每行数字,这意味着您将有 编写一些代码,允许您将这两个 数字相加或将其中一个添加到另一个。这是你在小学所学的东西,从右边开始加上,保持 跟踪是否有一个数字从一列到 。您的挑战在于采取一个您熟悉的过程 ,并编写执行相应任务的代码。
你的程序也必须写出这些数字。这样做,它应该 不打印任何前导0。尽管 号码在内部以前