Я получаю ошибкуЧтения и сравнение строк в текстовом файле, переменные не инициализируются
локального переменное имя и пароль не могут быть инициализированы,
для Условного оператора , Эти ошибки исчезают, если я изменяю вторую строку в круглых скобках на что-то в кавычках или устанавливаю переменные в 0, но тогда мне также нужно будет их изменить до int
, и мне нужно, чтобы они были String
.
Я пытаюсь сравнить имя пользователя и пароль из текстового файла с новым именем пользователя и паролем. Программа также должна выйти после 3 неудачных попыток, поэтому я, вероятно, также поставлю System.out.println("Goodbye!");
в неправильном месте.
public static void main(String[] args) {
int numberOfAttempts = 1;
String fileName = "logins.txt";
Scanner inputStream = null;
String name, password, line, secondname;
String secondpassword;
do
{
System.out.println("Please enter your username: ");
Scanner keyboard = new Scanner(System.in);
secondname = keyboard.nextLine();
System.out.println("Please enter your password: ");
secondpassword = keyboard.nextLine();
try
{
inputStream = new Scanner(new File(fileName));
}
catch(FileNotFoundException e)
{
System.out.println("Error opening the file " +
fileName);
System.exit(0);
}
while (inputStream.hasNextLine())
{
line = inputStream.nextLine();
}
if ((name.equalsIgnoreCase(secondname))&&
(password.equalsIgnoreCase(secondpassword)))
{System.out.println("Welcome!");
numberOfAttempts = 4;
}
else
System.out.println("Invalid. Please try again.");
numberOfAttempts++;
}
while (numberOfAttempts <4);
System.out.println("Goodbye!");
inputStream.close();
}
}
Настройте свои строки на "", а затем соедините данные?Когда оператор if пытается сравнить ваше имя или парольную переменную, он не получил значение, присвоенное им, чтобы оно даже сравнивало что-либо. Какова ценность имени и пароля? Вы должны что-то им назначить. –