为什么以下程序在没有错误的情况下终止

时间:2016-11-14 00:10:28

标签: java

为什么以下程序在没有生成任何东西的情况下终止? MyData.txt文件保存在同一目录中。

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

public class  MyIO
{
    public static void main (String[] args)  throws IOException 
    {  
        int num, square; 
        Scanner scan = new Scanner( "MyData.txt");      // connect a Scanner to the file

        try{    
            while(scan.hasNextInt())   // is there more data to process? 
            {
                num = scan.nextInt();
                square = num*num ;      
                System.out.println("The square of " + num + " is " + square);
            }
        } finally{
            scan.close();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您是否只期望来自MyData.txt文件的整数?如果文件的第一个值不是整数,则不会进入while循环。 您可能已经跳过代码中的一行或其他内容。我们可以查看一下你的MyData.txt文件吗? (或至少是一个例子)

此外,您无需声明字段' num'和' square'在你的循环之外,如果你想做一些清理工作,除非你打算以后重新使用它们。?