Scanner和StreamTokenizer之间的区别

时间:2014-07-23 08:23:00

标签: java

我刚刚做了USACO / Number Triangles ex,发现了一个关于读取文件的问题。我使用过" Scanner"首先读入文件,但测试9失败了,因为运行时间是1.8秒,超过了限制1.3秒。然后,我使用" StreamTokenizer"读入文件,最后清除所有测试。此时,测试9仅花费0.38秒。我不知道为什么" Scanner"之间存在如此大的差异。和" StreamTokenizer"。

"扫描器"代码:

    Scanner sc = new Scanner(new FileReader("numtri.in"));
    int n= sc.nextInt();
    int Array[][] = new int[n][n];
    for(int i=0;i<n;i++){
         for(int j=0;j<=i;j++){
               Array[i][j]=sc.nextInt();
         }
    }

&#34; StreamTokenizer极&#34;代码:

StreamTokenizer sc = new StreamTokenizer(new BufferedReader(new FileReader("numtri.in")));

int nextInt() throws IOException
   {
      sc.nextToken();
      return (int)sc.nval;
   }

int n = nextInt();
int Array[][] = new int[n][n];
for(int i=0;i<n;i++){
    for(int j=0;j<=i;j++){
        Array[i][j]=nextInt();
    }
 }

0 个答案:

没有答案