Member 13719947 Ответов: 2

Как напечатать правильное имя пользователя и пароль и не показывать другие insde.


когда я правильно ввожу пароль и имя пользователя, то также выходит не распознанный пользователь. это должно быть только правильное имя пользователя и пароль.
что же мне делать ?
и 3 попытки только для имени пользователя и пароля, а также всякий раз, когда один из них неверен, пользователь не распознается и выйдет неправильный пароль. вот почему у меня есть цикличность.
это мой код.

Что я уже пробовал:

public static void main(String[]args)
    {     
    String inputUsername = "none";
    String inputPassword = "none";
    String userName = "informatics";
    String password = "1234";
    int count = 0;
    
while (count < 3 && ((!inputUsername.equals(userName)) || (!inputPassword.equals(password))))
{
    Scanner input1 = new Scanner(System.in);
    System.out.println("USERNAME:");
    inputUsername = input1.next(); 
    Scanner input2 = new Scanner(System.in);
    System.out.println("PASSWORD:");
    inputPassword = input2.next();
    {
     if(count < 3)
    {
            if (inputPassword.equals(password))
            {
                System.out.println("User not Recognized");
            }
            else if(inputUsername.equals(userName))
         {
          System.out.println("Invalid Password");
         }
     }
    count++;  
   }
}
if ((inputUsername.equals(userName)) && (inputPassword.equals(password)))
    System.out.println("Correct Username && Password: Welcome to this Application!");
else
    System.out.println("Intruder Detected!");
    }
}

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
когда я правильно ввожу пароль и имя пользователя, то также выходит не распознанный пользователь. это должно быть только правильное имя пользователя и пароль.

Прежде всего, вы должны перечитать свой код и обратить внимание на детали.
if (inputPassword.equals(password))
{
    System.out.println("User not Recognized");
}
else if(inputUsername.equals(userName))
{
    System.out.println("Invalid Password");
}

Этот код печатает "пользователь не распознан", когда пароль правильный, и "неверный пароль", когда пользователь правильный.

Научитесь правильно делать отступы в вашем коде, это покажет его структуру, и это поможет чтению и пониманию. Это также помогает выявлять структурные ошибки.
public static void main(String[]args)
{
  String inputUsername = "none";
  String inputPassword = "none";
  String userName = "informatics";
  String password = "1234";
  int count = 0;

  while (count < 3 && ((!inputUsername.equals(userName)) || (!inputPassword.equals(password))))
  {
    Scanner input1 = new Scanner(System.in);
    System.out.println("USERNAME:");
    inputUsername = input1.next();
    Scanner input2 = new Scanner(System.in);
    System.out.println("PASSWORD:");
    inputPassword = input2.next();
    {
      if(count < 3)
      {
        if (inputPassword.equals(password))
        {
          System.out.println("User not Recognized");
        }
        else if(inputUsername.equals(userName))
        {
          System.out.println("Invalid Password");
        }
      }
      count++;
    }
  }
  if ((inputUsername.equals(userName)) && (inputPassword.equals(password)))
    System.out.println("Correct Username && Password: Welcome to this Application!");
  else
    System.out.println("Intruder Detected!");
}
}

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Блокнот++ Главная Страница[^]
личные[^]


Рейтинг:
1

OriginalGriff

Хм.

if (inputPassword.equals(password))
    {
    System.out.println("User not Recognized");
    }
else if(inputUsername.equals(userName))
    {
    System.out.println("Invalid Password");
    }
Таким образом, пользователь не распознается, если он вводит правильное имя или пароль?
Вы это имели в виду:
<pre>if (!inputPassword.equals(password))
    {
    System.out.println("User not Recognized");
    }
else if(!inputUsername.equals(userName))
    {
    System.out.println("Invalid Password");
    }


Patrice T

Сообщения тоже меняются местами.