Java統計txt文件的字符、單詞和行的總數,並且查詢特定字母出現的次數

 

問題描述:

用Java統計txt文件下的字符、單詞和行的總數,

並且查詢特定字母出現的次數,

如果輸入不規範,則重新輸入,直到輸入爲一個字母位置,

並且查詢該字母在文件中出現的次數

 

代碼實現:(此處文件名爲“an_interesting_story.txt”)

package com.HelloWorld;
import java.util.*;
import java.io.File;
import java.util.Scanner;
public class Fileoperation{
	public static void main(String[] args) throws Exception {
		File file = new File("an_interesting_story.txt");
		if(!file.exists()) {
			System.out.println("The file is Null");
			System.exit(0);
		}
		Scanner cin = new Scanner(file);
		int charactere=0, words=0, lines=0;
		while(cin.hasNext()) {
			String line = cin.nextLine();
			lines++;
			charactere+=line.length();
			String[] s = line.trim().split("[\\W]+");
			words+=s.length;
			//System.out.println(s.length);
		}
		System.out.println("File " + file + " has");
		System.out.println(charactere + " charactere");
		System.out.println(words + " words");
		System.out.println(lines + " lines");
		
		Scanner input = new Scanner(System.in);
		Scanner cout = new Scanner(file);
		System.out.print("請輸入一個需要匹配文件的字母:");
		boolean flag = true;
		int sum=0;
		while(flag) {
			char ch = input.nextLine().charAt(0);
			try {
				is(ch);
				while(cout.hasNext()) {
					String line = cout.nextLine();
					for(int i=0; i<line.length(); ++i)
						if(line.charAt(i) == ch)
							sum++;
				}
				System.out.println(ch + "出現的次數爲: " + sum);
				flag = false;
			}catch(Exception e){
				System.out.print("格式不正確,請重新輸入: ");
			}
		}
	}
	public static void is(char ch) throws Exception{
		if(!((ch>='a' && ch<='z') || (ch>='A' && ch<='Z')))
			throw new Exception();
	}
}

樣例截圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章