Plik txt

0

Witam Mam problem gdyż próbuję napisac program który porównuje wyraz wpisany w program i wyraz wczytany z pliku przez program .Program dobrze wczytuje plik.txt w którym zapisany jest literka "a" i w program tez jest wpisana literka "a" ale cos nie działa oto kod import java.io.*;

public
class aaaa
{
public static void main (String args[])
throws IOException
{
// czytanie pliku
FileReader fr = new FileReader("c.txt");
BufferedReader br = new BufferedReader(fr);

	String str1 = new String( br.readLine());
            String str2 = new String("a");
       	
		if (str1.equals(str2))
		{
		
		System.out.println( br.readLine());
		
		}
	fr.close();
}

}


Gdzie mam bład ??
0

A co dokładnie nie działa? Jaki błąd jest zwracany?

0

Pewnie problem jest w tym ze wczytujesz 2 razy linijke z pliku (2. raz po wywolaniu equals()) i nie dostajesz tego na konsoli czego oczekujesz.

0

po prostu chce by Program porównał wyraz wczytany i wpisany w program i jeśli są takie same to wyswietla sie ten wyraz . Program zadnych błedów nie ma tylko nie pokazuje sie napis i w tym problem

0

Napisz jeszcze ino tylko ile linijek ma ten plik txt (tylko 1?) i jaki napis ma sie pokazac (ta wczytana linijka?).

0

u ciebie jest:
"jeśli a to a, to wyświetl to co za chwilę wprowadzę" - bez sensu
w warunku wyświetl str2, chyba o to ci chodzi.
br.readLine() to wywołanie metody wczytującej linię tekstu, ona nie przechowuje tego co poprzednio wprowadziłeś.

0

Czyli co bym musiał dac zeby działało tak jak chce czyli porownuje text wczytany z tekstem w programie i siesli takie same to wyswietla ten tekst??

0

Przeciez masz juz wczytana linijke zapisana w zmiennej Str1, wiec ja po prostu wypisz.

0

Chyba mnie nie rozumiecie Mam plik c.txt i w nim 1 linie z napisem "a" W program mam wpisane str2 z trescią "a" i chce aby program porównał str1 z str2 i jesli są takie same to wyswietla str2 czyli to co wczyta z pliku c.txt ale tak sie nie dzieje wiec pytam gdzie jest bład (przypominam ze to są moje poczatki w javie więc jesli mozecie pomóc to bede bardzo wdzięczny)

0

To Ty nie rozumiesz. Od poczatku:

  1. linijke z pliku zapisujesz do zmiennej str1 a nie str2, str2 to jest przez Ciebie tworzona zmienna do porownania
  2. wczytujesz za pomoca readLine() do zmiennej str1 linijke w pliku
  3. wywolujesz equals ktory pewnie zwroci true o ile w pliku c.txt masz linijke zawierajaca znak "a" bez zadnej specji entara czy czegokolwiek
  4. jesli warunki z pkt. 3 sa spelnione, to chcesz cos wypisac, i tu tez masz blad - wczutyjesz ponownie linijke z pliku, czyli linijke 2, takiej linijki nie ma (sam napisales ze jest tylko jedna), i wartosc zwracana jest null; zatem, jesli warunki z pkt.3 sa spelnione, na konsoli powinno byc wypisane "null" - jesl nic nie widzisz to znaczy ze masz zla linijke w pliku
  5. dodaj do ifa elsa, ktory wypisze cos jesli nie equals jest false, wtedy sie okaze
0

I bardzo Dziękuje problem rozwiazany konkretna odp i po problemie wielkie dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1