Warunek jako string

0

Hej, w kodzie:

 
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Zlecenie {
	public static void main(String[] args) throws FileNotFoundException{
		
		
		File file = new File("mecz.txt");
		Scanner in = new Scanner(file);
		int a = 0;
		int b = 0;
		do{
			a++;
			mecz mecza = new mecz();
		mecza.druzyna1 = in.nextLine();
		mecza.druzyna2 = in.nextLine();
		mecza.pkts1 = in.nextLine();
		mecza.pkts2 = in.nextLine();
		System.out.println(mecza.druzyna1);
		System.out.println(mecza.druzyna2);
		if(mecza.druzyna1 == ""){ b = 1;
		}
		}while(b != 1);
		}
}
		

chciałbym, żeby warunkiem wyjścia z pętli było by nie znalezienie danych w kolejnej linii dokumentu, próbowałem na kilka sposobów to zapisać w instrukcji IF, ale wciąż, po przeskoczeniu do linii bez danych, wywala cały program, zamiast wyjść z pętli. Mógłby mi ktoś bardziej doświadczony zdradzić, jak to zapisać?

1

Formatuj kod:

  • zero kodu w linijce po znaku {,
  • zero kodu w linijce zawierającej },
  • po każdym { zwiększaj wcięcie kodu o jedną jednostkę wcięcia, a przed } zmniejszaj.

Stringów w Javie nie porównuje się za pomocą ==, bo to jest operator sprawdzenia czy:

  • dane prymitywy są równe,
  • dane referencje wskazują na ten sam obiekt,
    a więc nie o to, o co ci chodzi. Użyj metody equals() lub isEmpty(). Ewentualnie może się jeszcze przydać metoda trim().

Edit:
Chociaż w ogóle jeśli wejście się skończyło to nextLine() rzuci ci wyjątkiem, a nie zwróci "". Musisz to wziąć pod uwagę.

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