Porównanie Stringów ze Scannera

1

Hej. Mam zadanie podstawowe nad którym się strasznie głowię. Może podpowiecie gdzie jest błąd w moim kodzie. Przeszukiwałam forum ale nic nie znalazłam co mogło by mi pomóc.
Treść zadania:
"Napisz program, który odczytuje dany wyraz z konsoli tak długo aż natrafi na poprawnie wprowadzone hasło."

Mój kod:

package Dzien1_MojeZadania;

import java.util.Scanner;

public class ZadPodst14 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        String pw;
        String pass;

        do {
            System.out.println("Podaj hasło: ");
            pw = "Kociol";
            pass = scan.nextLine();

        } while (pass.isEmpty() || pw.equals(pass));
        System.out.println("Hasło poprawne");

    }
}
0

Brakuje Ci negacji przy warunku z equalsem.

0

Dodając if? Ta forma poniżej też nie działa.

package Dzien1_MojeZadania;
import java.util.Scanner;

public class ZadPodst14 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        String pw;
        String pass;

        do {
            System.out.println("Podaj hasło: ");
            pw = "Kociol";
            pass = scan.nextLine();
            
            if (pw.equals(pass)) {
                System.out.println("Hasło poprawne");
                break;
            }

        } while (pass.isEmpty() || pw.equals(pass));
        System.out.println("Hasło poprawne");

    }
}

4
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        String pw;
        String pass;

        do {
            System.out.println("Podaj hasło: ");
            pw = "Kociol";
            pass = scan.nextLine();

        } while (!pass.equals(pw));
        {
            System.out.println("Haslo jest poprawne");
        }

    }
}

0

Super! działa! dzięki :) będę już wiedziała na przyszłość

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