<미성년자만 회원가입할 수 있게 하는 기능>

java를 공부하면서 초반에 나오는 Scanner와 if문을 가지고 만든 간단한 기능이다.

와 이정도는 이제 나도 금방 할 수 있겠다! 하면서 죽 작성했는데 오류가 발생했다.

코드 내에 밑줄이 간 부분은 없으니 오류가 없겠거니 했는데 *정보 입력*란 다음에 아이디가 입력이 안 되고 패스워드 입력란으로 자꾸 넘어가는 오류가 생겼다.

알고 보니 이 한 줄을 작성하지 않아 발생했다.

sc.nextLine();

 

Scanner를 이용할 때 nextLine()을 이용하기 전에 nextLine()이 아닌 nextInt(), nextDouble() 등을 이용했다면  nextLine()을 한번 실행시켜서 비워줘야 한다!

if문 전에 nextInt()를 썼기 때문에 비워줘야 한다.

 

그래서 작성한 것이 바로 이렇다.

public void checkAgeEnroll() {
		Scanner sc=new Scanner(System.in);
		System.out.println("미성년자만 회원가입이 가능합니다.");
		System.out.println("나이를 입력해 주세요 : ");
		int age=sc.nextInt();
		sc.nextLine();
		if(age<20) {
			System.out.println("*정보 입력*");
			System.out.println("아이디를 입력해주세요 : "); 
			String id=sc.nextLine();
			System.out.println("패스워드를 입력해주세요 : ");
			String pw=sc.nextLine();
			System.out.println("이름을 입력해주세요 : ");
			String name=sc.nextLine();
			System.out.println("별명을 입력해주세요 : ");
			String nick=sc.nextLine();
			System.out.println("나이를 입력해주세요 : ");
			int age2=sc.nextInt();
			String text=id+" "+pw+" "+name+" "+nick+" "+age2;
			System.out.println("입력한 정보 : " + text);
		} else {
			System.out.println("성인은 가입할 수 없습니다.");
		}
		
	}

 

정상적으로 실행된다!

 

 

+ Recent posts