如何扫描一行由 space 分隔的 2 个数字并将每个数字的每个数字分配给一个 int?

How to scan a line of 2 numbers separated by a space and assign each digit of each number to an int?

基本上,我有一个文件,其中包含几行与此类似的数字:

4450 137

123679 5886

5448103 548913

我正在编写一个程序来获取每个数字,将每个整数分开,将它们放入一个双向链表中,然后将它们相加。

我遇到的问题是我不确定如何使用第一行,将第一个数字中的数字分开,然后将第二个数字中的数字分开,用它们做我需要的,然后来返回并为第二行做同样的事情,依此类推。输出看起来像:

4450 + 137 = 4587

123679 + 5886 = 129565

...等等。

到目前为止,我已经...

Scanner scan = new Scanner(new File("input.txt"));
int num1;
int num2;

    while (scan.hasNext()) // While there are still things to scan
    {               
        num = scan.nextInt();

        while(num%10 !== 0)
        {
            tempNum = num % 10;
            linkList.add(tempNum);
            num = num/10;
        }
    }

感谢任何帮助!

我的思考过程是这样的:

  • 从扫描器中获取一个整数
  • 输入一个提取每个数字的循环
  • 将这些数字中的每一个都放入您的列表中
  • 继续这样做,直到 运行 超出数字
  • 从扫描器中获取下一个整数

如何提取每个数字?

如果您的号码是 12305,那么您可以通过执行 12305 % 10 去除 5,这将返回 5。然后您通过执行 12305 / 10 ( = 1230) 并存储该结果来丢弃该 5下次你环顾四周。

你怎么知道你的数字已经 运行 了?

如果你存储的数字 / 10 给你零,那么你就完成了那个 int。

内循环示例:

while(num != 0) {
  singleDigit = num % 10;
  ...
  num = num / 10;
}