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

标签 java parsing int java.util.scanner

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

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 给出零,那么您就完成了该整数。

内循环示例:

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

关于java - 如何扫描由空格分隔的一行 2 个数字并将每个数字的每个数字分配给一个 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29202769/

相关文章:

java - 如何从不同的类中增加一个值(在主类中)

java - 在下载管理器中,如何从通知栏获取其 "cancel"状态?

java - 如何用 Java 解析位于网站上的 Google CSE 结果?

ios - 如何使用 Swift 解析 PDF 页面中的内容

python - 我如何断言该参数仅包含 Python 中列出的整数

sql-server - 将数据类型 numeric 转换为 int 时出错

java - 如何解析/编码二进制消息格式?

java - 聚合中的实体可以移动到 Axon 中的另一个聚合(相同类型)吗

java - 在 Android Studio 中使用 unirest 的问题

ios - Xcode 6 'Parse Issue, Expected a Type' 使用 cocoapods