Counting letter occurrence

前端 未结 4 417
隐瞒了意图╮
隐瞒了意图╮ 2021-01-17 05:19

The program needs to count and display the number of times that the specified charector appears in the text file.

Currently turning up zero for the total. I\'m not i

相关标签:
4条回答
  • 2021-01-17 05:52
    String line=""
    while(inputFile.hasNext()) {
      line = inputFile.nextLine();
      for(int i=0; i<line.length(); i++ ){
         if (line.charAt(i)== letter)                                    
             count++;          
    
     }
    }
    
    0 讨论(0)
  • 2021-01-17 05:54

    There is bug in your code.Correct code below-

       String fileName;    // Holds the name of the file
        String letter;      // Letter to search for in the file
    
        // Get the name of the file and character from the user
        fileName = "C:\\bin\\GWT.txt";
        letter = "X";
    
    
        // Open the file for reading
        File file = new File(fileName);         
        Scanner inputFile = new Scanner(file);  // Declare new scanner object for file reading
    
    
        // Set accumulator to zero
        int count = 0;
        while(inputFile.hasNext()) {
          if (inputFile.nextLine().toLowerCase().contains(letter.toLowercase())) { 
               count++;          // add letter occurrence
           }
        }
        System.out.println(count);
    
    0 讨论(0)
  • 2021-01-17 06:13

    This answer is assuming each line in your text file contains just one letter as your question suggests.

    You need to wrap your if statement in a loop as currently you are only checking the first line of the file:

         while(inputFile.hasNext()) {
             if (inputFile.nextLine().equalsIgnoreCase(letter))    {                                
    
                 count++;          // add letter occurrence
    
                 total += count;   // add the letter occurrence to the total
             }
         }
    

    Also you can replace:

    count++;
    total+= count;
    

    with just

    total++;
    
    0 讨论(0)
  • 2021-01-17 06:14
        BufferedReader reader = new BufferedReader(new FileReader("somefile.txt"));
        int ch;
        char charToSearch='a';
        int counter=0;
        while((ch=reader.read()) != -1) {
            if(charToSearch == (char)ch) {
                counter++;
            }
        };
        reader.close();
    
        System.out.println(counter);
    

    Is this of any help?

    0 讨论(0)
提交回复
热议问题