비밀번호 변경코드 인데 변경이 안되네요 ㅠㅠ
연다홍
package abb;
import java.io.*;import java.util.*;
public class MgMode { String pwd_q,pwd_a=0000; int sel2; Scanner scan = new Scanner(System.in); Password pwd = new Password(); public MgMode() throws IOException { pwd.confirm(pwd_q, pwd_a); while(true){ System.out.println(1.비밀번호 변경); System.out.println(2.종료); sel2=scan.nextInt(); switch(sel2){ case 1: pwd.confirm(pwd_q, pwd_a); pwd.motify(pwd_q, pwd_a); pwd.confirm(pwd_q, pwd_a); break; } } } public static void main(String[] args) throws IOException { MgMode mg = new MgMode(); }
}
class Password{ public void confirm(String pwd_q, String pwd_a) throws IOException{ for(int i=0;i5;){ System.out.print(비밀번호를 입력하세요 : ); pwd_q=getString(); if(pwd_q.equals(pwd_a)) { System.out.println(정답입니다.); i=10; } else { System.out.println(틀렷습니다.); i++; if(i==5) { System.out.println(비밀번호를 5회이상 틀리셨습니다. 프로그램을 종료합니다.); return ; } } }//for종료 }//confirm()종료 public String motify(String pwd_q, String pwd_a) throws IOException{ System.out.print(변경할 비밀번호를 입력하세요 : ); pwd_a = getString(); return pwd_a; }
private String getString() throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s = br.readLine(); return s; }}
//자주 질문을 하게 되네요 번거롭더라도 부탁드립니다. ㅠㅠ
-
말근
trim() 이 공백 없애주는것 맞습니다. 한 라인을 한꺼번에 읽어드리면 양쪽에 공백이 있을시 공백도 함께 읽기 때문에 암호를 읽을 경우는 없애주는게 맞을 겁니다. 그러나 공백을 그냥 놔두어야 하는 경우도 있으니 신중하게 생각을 해서 결정 해야합니다.