Проверьте верхний, нижний, цифры, символы и пробелы - PullRequest
0 голосов
/ 31 октября 2019

так что я начал работать, но мне нужна помощь с чтением и подсчетом знаков препинания и чтением пробелов в файле. Я получаю ноль, когда он печатает. Сейчас все печатается правильно и соответствует так, но, как я сказал, пробелы и знаки пунктуации не читают файл, и я не могу понять, почему.

import java.util.Scanner;
import java.lang.*; 
import java.io.FileReader;
import java.io.IOException;
import java.io.*;

public class Lab8{

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

     Scanner scan = new Scanner(System.in);
         System.out.print("Enter file name : "); 
            String filename = scan.nextLine(); 

    Scanner fileScan = new Scanner(new File(filename)); 

    int upperCount = 0;
   int lowerCount = 0;
   int symbolCount = 0;
   int digitCount = 0;
   int spaceCount = 0;



      while(fileScan.hasNext()){
   String name = fileScan.nextLine();


   //Upper Case
   for ( int y = 0; y < filename.length(); y++){
     if ( Character.isUpperCase (filename.charAt(y))){
     upperCount++;
    }//end if
   }//end for

   //Lower Case
   for ( int x = 0; x < filename.length(); x++){
     if ( Character.isLowerCase (filename.charAt(x))){
     lowerCount++;
      }//end if
   }//end for


   //Digits 
   for ( int z = 0; z < filename.length(); z++){
      if ( Character.isDigit(filename.charAt(z))){
      digitCount++;
      }//end if
   }//end for

   //Punctuation Symbols   
    if(filename == "(" + ")" + "," + "." + "!" + "?") {
      symbolCount++;

      }//end if

    //spaces
   for ( int i = 0; i < filename.length(); i++){
      if ( Character.isWhitespace(filename.charAt(i))){
      spaceCount++;
      }//end if
   }//end for


   }//end while
   System.out.println( "Uppercase Letters : " + upperCount );
   System.out.println( "Lowercase Letters : " + lowerCount );
   System.out.println( "Number of Digits : " + digitCount );
   System.out.println( "Punctuation Symbols : " + symbolCount );  
   System.out.println( "Number of Spaces : " + spaceCount );

}//end main
}//end class

>

1 Ответ

0 голосов
/ 31 октября 2019

Я не знаю, если это вопрос, но вы можете разобрать текст и использовать Character.isDigit(), Character.isAlphabetic(), Character.isLetter(), Character.isWhiteSpace() и т. Д.

Например:

    char four = '4';

    if(Character.isDigit(four) {
        System.out.println("The Character is a digit");
    } else {
        System.out.println("The character is not a digit");

    Output:
    The Character is a digit. 

В вашем случае вы можете проанализировать весь файл, а затем, если это то, что вы ищете, вы можете просто добавить к upperCount, lowerCount, digitCount или spaceCount и т. Д.

...