2014-09-24 1 views
0

저는 은행 용 앱과 같은 앱을 만들고 있지만 사용자가 핀을 입력하길 원합니다. 1111을 입력하고 Enter 키를 누르면 핀이 틀리면 올바른 사용자 이름과 균형이 표시됩니다. 메시지가 표시됩니다.올바른 핀을 입력 한 경우에만 사용자 이름과 잔액을 표시하는 로그인 버튼을 만드는 방법은 무엇입니까?

정확한 핀 작업을하기 위해 고심하고 있습니다. 입력 할 때마다 이름과 밸런스보다는 "잘못된 핀"메시지가 인쇄됩니다.

int moInt = 1111; 

String moString = "1111"; 

String intAsString = Integer.toString(moInt); 

double balance = 10000.00; 

if (moString.equals(moInt)) { 

    System.out.println("Hi Mohamed" + "\nYour balance is" + " £" + balance); 
    ATM a = new ATM(); 
    a.setVisible(true); 
    a.setResizable(false); 


} else{ 

    System.out.println("Wrong Pin!"); 
} 

I tried this 

if (moString.equals(moString)) { 

    System.out.println("Hi Mohamed" + "\nYour balance is" + " £" + balance); 
    ATM a = new ATM(); 
    a.setVisible(true); 
    a.setResizable(false); 

이 이름을 인쇄하고 균형 그러나 그것은 어떤 번호 것을 수행합니다 내가 사용

코드는 버튼을 입력합니다.

특정 핀 또는 번호

는 1111

도움이 연령대이 붙어 된 사항되어 사용하는 것을 시도하고있다! : '(

+1

봐 (moInt를)'이 – MadProgrammer

+0

당신은 아마'싶어 ... TRUE ''수 없을 것이다, String.equals (INT)''동일합니다 'moString.equals (moInt)'대신 'moString.equals (intAsString)'를 사용하십시오. – TNT

답변

1

moString.equals(moInt)에서,이

당신은 아마 보안 관점에서 moString.equals(intAsString)

FYI-를 사용하는 의미

, String은 아니지만 ... 어떤이 true 수 없으며, String.equals(int) 동일합니다 민감한 데이터를 저장하는 좋은 선택인데, char 배열이나 숫자로 된 것, int 값으로 유지하십시오.

+0

아, 나를 도와 주셔서 고마워. 그리고 보안의 관점에서 알려 줘서 고마워. 나는 결코 알지 못했다. –

0

Java에서 정수와 문자열은 분리되어 있습니다. r은 문자열과 같을 수 있습니다.

문자열을 정수로 변환 한 다음 다른 정수와 비교해야합니다. if이로 변경 moString.equals`에서

if (moInt == Integer.parseInt(moString)) 
관련 문제