Я создаю страницу входа для назначения класса и испытываю трудности с выходом из цикла while после того, как метод получает имя пользователя и пароль, а затем ищет в многострочном текстовом файле совпадение.Он может найти совпадение, но возвращается в область ввода в методе main и снова запрашивает имя пользователя.Надеюсь, что это имеет смысл.
Любая помощь будет принята с благодарностью.Как вы можете сказать, я новичок в Java, так как этот код повсюду и, вероятно, куча ошибок.Я не спал всю ночь, пытаясь понять это, но безуспешно.Спасибо!
package course.registration;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Welcome {
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(System.in);
System.out.println("Welcome to the Course Registration System" + "\n");
System.out.print("Please type Login or Register: ");
String choice = input.nextLine();
while (choice.equalsIgnoreCase("Login")){
System.out.print("Please enter email address to log in: ");
String email = input.nextLine();
System.out.print("Please enter password: ");
String password = input.nextLine();
//goes to method to search and match inputs
VerifyLogin verify = new VerifyLogin();
verify.VerifyInfo(email, password);
}
if (choice.equalsIgnoreCase("Register")) {
System.out.println("Going to registration Page...");
}
input.close();
}
}
Вот метод, который ищет текстовый файл и пытается найти соответствие для входных данных.Я чувствую, что проблема в том, когда метод завершается и возвращается к циклу while в основном методе.Я не могу найти способ выхода из цикла while.Вот как выглядят строки в файле "Students_logins.txt":
jthomas@gmail.com,1234
kwatson@time.com,3333
legal@prog.com,d567
lavern@shirley.com,34
kwatson@gmail.com,12200
package course.registration;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class VerifyLogin {
private String tempUsername;
private String tempPassword;
public void VerifyInfo(String email, String password) throws FileNotFoundException {
boolean login = false;
File file = new File("student_logins.txt");
Scanner info = new Scanner(file);
info.useDelimiter("[,\n]");
while (info.hasNextLine()) {
tempUsername = info.next();
tempPassword = info.next();
if (tempUsername.trim().equals(email.trim()) && (tempPassword.trim().equals(password.trim()))) {
System.out.println("Email Address or Password Works!!");
break;
}
}
if (!login) {
System.out.println("Email Address or Password is Invalid.");
}
info.close();
}
}