간단한 문제가 있습니다.
Java의 텍스트 파일을 사용하여 로그인을위한 간단한 시스템을 만들었습니다.
내 텍스트 파일에는 다음과 같은 레코드가 있습니다.
Hamada 114455
Ahmed 236974145
Johny 4123745
이러한 레코드의 프로그래밍 형식은 다음과 같습니다.
String username, int password
문제는 로그인 작업에 있습니다. 시스템은 다음과 같이 작동해야합니다.
username: Ahmed
password: 114455
시스템은 텍스트 파일에서 사용자 이름과 암호를 검색해야합니다. 존재하는 경우 "Welcome :)"이라고 표시됩니다.
그렇지 않은 경우 "잘못된 사용자 이름 또는 암호"
문제 : 잘못된 사용자 이름 또는 암호를 입력하면 사용자 이름과 암호를 찾지 못한 각 줄에 잘못된 사용자 이름 또는 암호를 기록합니다.
내 코드는 다음과 같습니다.
System.out.println("Login Page");
System.out.printf("Username: ");
String user2 = input.next();
System.out.printf("Password: ");
int pass2 = input.nextInt();
Scanner y = null;
try{
y = new Scanner(new File("C:\\Users\\فاطمة\\Downloads\\accounts.txt"));
while(y.hasNext())
{
String a = y.next();
int b = y.nextInt();
if((a == null ? user2 == null : a.equals(user2)) && b == pass2)
System.out.println("Welcome :)");
else
System.out.println("Wrong username or password .. try again !!");
}
}
catch(Exception e)
{
}
while
루프 내 에서 boolean
변수 (으로 초기화 됨 false
)를 사용하십시오. 동일한 데이터가있는 항목이 발견되면로 설정하십시오 true
.
그런 다음 while 루프 외부에 결과를 인쇄하십시오.
boolean userExists = false;
while (y.hasNext()) {
// .....
if((a == null ? user2 == null : a.equals(user2)) && b == pass2)
userExists = true;
// ...
}
if (userExists)
System.out.println("Welcome");
else
System.out.println("Wrong username or password .. try again !!");
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다