-1

テキストまたは整数をスキップする必要があります。数値 (int/double) と文字列を含む .dat ファイルを読み取ります。また、ファイル内の単語数の最大、最小、合計、およびカウントを計算して出力します。平均はどうするの?ありがとうございました!!

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

public class ProcessFile {
public static void main(String [] args) throws FileNotFoundException {
Scanner console = new Scanner(System.in);
    System.out.print("Enter file name: ");
    String n = console.next();
    File f = new File(n);
    while(!f.exists()){
        System.out.print("Doesn't exist. Enter a valid filename: ");
        n = console.next();
        f = new File(n);
    }
    Scanner input = new Scanner(f);

    int minInt = Integer.MAX_VALUE;
    int maxInt = Integer.MIN_VALUE;
    int countInt; 
    int averageInt =
    double minDouble = Double.MIN_VALUE;
    double maxDouble = Double.MAX_VALUE;
    double countDouble;
    double averageDouble = //sum / countDouble

    while(input.hasNext()){
        if (input.hasNextInt()){
            int next = input.nextInt();
            maxInt = Math.max(next, maxInt);
            minInt = Math.min(next, minInt);
            countIntC++;
            averageInt =                
            System.out.println("The results for the integers in the file :");
            System.out.printf(" Max = %d\n", maxInt);
            System.out.printf(" Min = %d\n", minInt);
            System.out.printf(" Count = %d\n", countInt);
            System.out.printf(" averageInt = %d\n", averageInt);


        } else if (input.hasNextDouble()) { //can I read it as a double
            double = next2 = input.nextDouble();
            maxDouble = Math.max(next2, maxDouble);
            minDouble = Math.min(next2, minDouble);
            countDouble++;
            averageDouble = 
            System.out.println("The results for the integers in the file:");
            System.out.printf(" Max = %f\n", maxDouble);
            System.out.printf(" Min = %f\n", minDouble);
            System.out.printf(" Count = %f\n", countDouble);
            System.out.printf(" averageInt = %f\n", averageDouble);

        } else { //it is String

        }               
    }
}

}

4

1 に答える 1