• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Wykrywanie Whitespaces podczas odczytywania pliku txt (JAVA)

Aruba Cloud - Virtual Private Server VPS
0 głosów
570 wizyt
pytanie zadane 12 stycznia 2021 w Java przez Patryk2001 Początkujący (470 p.)
zamknięte 12 stycznia 2021 przez Patryk2001

Cześć, pisząc program który ma za zadanie między innymi wskazać liczbę Whitespace'ów w pliku txt, natknąłem nie na problem ponieważ gdy program czyta zawartość pliku nie wykrywa mi tych Whitespace'ów i nie wiem o co chodzi. Czy mógłby mi ktoś pomóc? Pozdrawiam 

 

package zadanie1;

import java.io.FileReader;
import java.io.IOException;
import java.io.BufferedReader;

public class Zadanie1 {
    
  
    public static void main(String[] args) throws IOException {
        int[] tab1 = new int[3];
        tab1 = liczZnakiSlowa("C:/pliki_java/text.txt");
        System.out.println(tab1[0]);
        System.out.println(tab1[1]);
        System.out.println(tab1[2]);
        
    }
    
    public static int[] liczZnakiSlowa(String SciezkaPliku) throws IOException
    {
        int [] tab1 = new int[3];
        FileReader f = null;
        try
        {
            f = new FileReader(SciezkaPliku);
            int AsciiCode;
            int LiczbaZnakow = 0;
            int LiczbaBialychZnakow = 0;
            
            while((AsciiCode = f.read()) != -1)
            {
                char znak = (char)AsciiCode;
                if((Character.isWhitespace(znak)) == true){
                
                    LiczbaBialychZnakow++;
                
                }
                LiczbaZnakow++;
            }
             tab1[0] = LiczbaZnakow ;
             tab1[1] = LiczbaBialychZnakow;
        }
        finally
        {
            if(f != null)
            {
                f.close();
            }
            
        }
        
        return tab1;
        
    }

    
}

Output:

compile:
run:
8
0
0

 

komentarz zamknięcia: Problem rozwiązany
komentarz 12 stycznia 2021 przez mibdbz Gaduła (4,300 p.)
Cześć. A jakie było rozwiązanie problemu?
komentarz 12 stycznia 2021 przez Patryk2001 Początkujący (470 p.)
Hej, takie że nie zapisałem pliku tekstowego i kompilowałem zły, także kod który znajduję się powyżej jest prawidłowy ;) Pozdrawiam
komentarz 12 stycznia 2021 przez Patryk2001 Początkujący (470 p.)

Tutaj udostępniam kod, który napisałem dla chętnych którzy kiedyś może będą robili to zadanie :P 

package zadanie1;

import java.io.FileReader;
import java.io.IOException;
import java.io.BufferedReader;

public class Zadanie1 {
    
  
    public static void main(String[] args) throws IOException {
        int[] tab1 = new int[3];
        tab1 = liczZnakiSlowa("C:/pliki_java/text.txt");
        System.out.println(tab1[0]);
        System.out.println(tab1[1]);
        System.out.println(tab1[2]);
        
    }
    
    public static int[] liczZnakiSlowa(String SciezkaPliku) throws IOException
    {
        int [] tab1 = new int[3];
        FileReader f = null;
        try
        {
            f = new FileReader(SciezkaPliku);
            int AsciiCode;
            int LiczbaZnakow = 0;
            int LiczbaBialychZnakow = 0;
            int LiczbaSlow = 0;
            boolean PrevCharWasSpace = true;
            
            while((AsciiCode = f.read()) != -1)
            {
                char znak = (char)AsciiCode;
                if((Character.isWhitespace(znak)) == true){                
                    LiczbaBialychZnakow++;
                    PrevCharWasSpace = true;
                }
                else
                {
                    if(PrevCharWasSpace)
                    {
                        LiczbaSlow++;
                        PrevCharWasSpace = false;
                    }
                }
                LiczbaZnakow++;
            }
             tab1[0] = LiczbaZnakow ;
             tab1[1] = LiczbaBialychZnakow;
             tab1[2] = LiczbaSlow;
        }
        finally
        {
            if(f != null)
            {
                f.close();
            }          
        }
        
        return tab1;
        
    }

    
}

Tresc : 

1. Napisać funkcję liczZnakiSlowa, która zlicza:

• liczbę znaków w pliku,

• liczbę białych znaków w pliku (białe znaki to spacja, tabulator, znacznik końca wiersza),

• liczbę słów w pliku.

Wynikiem funkcji jest tablica złożona z 3 liczb całkowitych po jednej dla wymienionych podpunktów.

Podobne pytania

0 głosów
3 odpowiedzi 1,516 wizyt
pytanie zadane 18 października 2018 w Java przez Virius Początkujący (490 p.)
0 głosów
1 odpowiedź 626 wizyt
pytanie zadane 15 grudnia 2020 w Python przez Pico Obywatel (1,330 p.)
+1 głos
3 odpowiedzi 539 wizyt
pytanie zadane 17 września 2020 w C i C++ przez regge03 Nowicjusz (130 p.)

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,654 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...