当前位置: 首页 > 面试题库 >

为什么不打印任何整数?

羿经武
2023-03-14
问题内容
try {

    Scanner sc = new Scanner(new File("testing.txt"));

    while (sc.hasNextInt()){
        int i = sc.nextInt();
        //timing.add(i);
        System.out.println(i);
    }

    sc.close();

}catch (FileNotFoundException e) {
    e.printStackTrace();
}

文本文件中确实包含int和字符串。我可以从文本文件中打印单词,但不能打印数字。

文本文件包括以下内容:

Michael 3000
7000 Bilbo
我喜欢2000号吗?
不,我喜欢9000



问题答案:

您的第一个值(“ Michael”) 不是 整数,因此它永远不会进入循环主体。

也许您想更改代码以使其循环播放,直到到达文件末尾,读取并打印整数,但使用(不打印)非整数值。所以像这样:

import java.util.*;
import java.io.*;

public class Test {
    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(new File("test.txt"));

        while (sc.hasNext()) {
            if (sc.hasNextInt()) {
                System.out.println(sc.nextInt());
            } else {
                // Just consume the next token
                sc.next();
            }
        }           
        sc.close();
    }
}


 类似资料:
  • 问题内容: 当我从终端执行该程序时,我编写的程序未打印任何内容,因此我尝试运行以下代码 这是终端,为什么它不打印出来你好。主要功能是否还在运行? 问题答案: Python不会自动调用main()(并且您需要使用sys库来获取argv)。

  • 所以我有这个代码,叫我白痴哈哈,但是我不能让它打印7。 代码: 我需要知道如何改变与函数中的参数同名的变量。 任何帮助都将不胜感激,如果你不明白这个问题,我很乐意解释更多。

  • 问题内容: 我一定缺少关于goroutine的一些基本知识,但是我环顾四周,我看不到任何原因无法解决这个问题。 问题答案: 您的程序在goroutines有机会运行之前已经完成。 这是带有WaitGroup的代码: https://play.golang.org/p/lmCPU9-qkB

  • 问题内容: 我看到了这样的代码: 我认为它有效,因为在第三行中将其分配给了。 但发现bash不能打印任何内容,而我希望它可以打印.. 而且,我发现print什么都没有,而prints 却很混乱。 有人对此有想法吗? 问题答案: 在 运行 前 将其展开,并将结果作为参数传递给。在其环境中不使用的值。 __ 在第一个示例中,使用其环境中的value 分割通过here字符串接收到的字符串。

  • 问题内容: 我有以下代码: 如果我没有在goroutine中从缓冲区读取的代码,它会输出这样的消息,这是我期望发生的事情: 但是,将其放在goroutine中不会打印任何内容。 有人可以解释为什么吗? 问题答案: 函数完成后,您的程序将退出。这很可能在您的goroutine有时间运行并打印其输出之前发生。 一种选择是从通道读取主goroutine块,并在完成工作后将goroutine写入通道。

  • 问题内容: 我生成了x的两个矩阵: 第一矩阵:和。 第二矩阵:和。 使用以下代码,第一个矩阵花费了8.52秒完成: 使用此代码,第二个矩阵花费了259.152秒来完成: 运行时间显着不同的原因是什么? 正如评论所说,仅打印需要秒,而给。 正如其他指出它对他们正常工作的人一样,例如,我尝试了Ideone.com,这两段代码以相同的速度执行。 测试条件: 我从 Netbeans 7.2 运行了此测试,