주 수업에서 프로그램을 실행 한 후 완전히 건너 뛴다는 이유가 확실하지 않습니다.File/FileWriter/Scanner 클래스를 통해 텍스트 파일에 사용자 이름이 있는지 확인하는 방법
while(usernameCheck.hasNext()){
//code...
}
나는 이미 "accounts.txt"파일에있는 사용자 이름을 의도적으로 넣었지만 루프합니다. 나는 또한 contains()
방법을 시도했지만 분명히 내가 넣어 경우는 "John1"와 "요한이"내 accounts.txt 파일에 이미 말할 수, 내 코드 I를 읽은 후 *** 그것을
import java.util.Scanner;
import java.io.*;
public class CreateAccount {
public static void newAccount() throws IOException{
Scanner keyboard = new Scanner(System.in);
FileWriter fw = new FileWriter("accounts.txt",true);
PrintWriter pw = new PrintWriter(fw);
System.out.println("Please enter a username: ");
String user = keyboard.nextLine();
File file = new File("accounts.txt");
Scanner usernameCheck = new Scanner(file);
while(usernameCheck.hasNext()){
String existingUsername = usernameCheck.nextLine();
if(user.equalsIgnoreCase(existingUsername)){
System.out.println("Username already exists");
System.out.println("Please enter a username: ");
user = keyboard.nextLine();
}
}
System.out.println("Please enter a password: ");
String pass = keyboard.nextLine();
System.out.println("Account created!");
을 수락하지 않습니다 나는 또 다른 문제가 있다는 것을 깨닫는다 : "accounts.txt"클래스에 존재하지 않는 사용자 이름을 만들지 만, hasNext() 메소드로 인해 사용자 이름이 이미 존재한다는 프롬프트를 계속 반복 할 것이다. 이것에 대해 내가 뭘 할 수 있니?
? 디버거가 있습니까? 그렇다면 코드를 단계별로 실행하여 수행중인 작업을 확인하십시오. –
@Ken White Eclipse를 사용하고 있습니다 – Sweetcharge
그렇다면 디버거가 있습니다. 맞습니까? 같은 파일에서'FileWriter'와'Scanner'를 동시에 열 때 어떤 문제가 생길지 생각해 봤습니까? –