scan.hasNextDouble()不起作用?

时间:2015-11-19 19:54:46

标签: java

我已经将我的Java教科书中的代码逐字输入到我的代码中。输出文件没有打印,我尝试更改我的代码,因此它将结果打印到控制台而不是输出文件。

既不起作用也不会丢失。请帮忙!

import java.io.*;
import java.util.Scanner;
import java.io.File;
import java.io.PrintWriter;
import java.io.FileNotFoundException;

public class InputOutput {
    public static void main(String[] args) throws FileNotFoundException {

        String inputFileName = ("myFile.txt");
        String outputFileName = ("myOutputFile.txt");

        File inputFile = new File(inputFileName);
        Scanner scan = new Scanner(inputFile);
        PrintWriter out = new PrintWriter(outputFileName);

        while (scan.hasNextDouble()) {
            double value = scan.nextDouble();
            out.println(value);
        }

        scan.close();
        out.close();
    }
}

文字档案:

AL Alabama 350 - 369
AK Alaska 995 - 999
AZ Arizona 850 - 865
AR Arkansas 716 - 729 
CA California 900 - 966
CO Colorado 800 - 816

1 个答案:

答案 0 :(得分:2)

第一个令牌必须是您的while循环的号码才能至少参与一次。

您可能只打算提取数字?

试试这个:

public static void EditMimeTypesToWebApps(int editType) // maybe you can make it an enum
{
    var webApps = from svc in SPFarm.Local.Services.OfType<SPWebService>()
                  from SPWebApplication webApp in svc.WebApplications
                  where webApp.IsAdministrationWebApplication == false
                  select webApp;
    foreach (SPWebApplication webApp in webApps)
    {
        foreach (FileExtensionData fed in MimeTypes)
        {   
            if(editType == 0)
            {
                webApp.AllowedInlineDownloadedMimeTypes.Remove(fed.MimeType);
            }
            else
            {
                webApp.AllowedInlineDownloadedMimeTypes.Add(fed.MimeType);
            }
        }
        webApp.Update();
    }
}