2014-11-06 8 views
-3

나는 여기서 두 번째 클래스에서 확인할 '비밀번호'를 입력하도록 사용자에게 요청해야하는 코드가 있습니다. 내 문제는 프로그램이 두 번째 클래스 (PasswordChecker)의 메서드로 전달되지 않는다는 것입니다. 어떻게 해결할 수 있습니까?내 메인에서 다른 클래스의 메소드를 호출하려면 어떻게해야합니까?

제이슨 렌

+0

어떤 오류가 발생하고 있습니까? –

+0

== 대신에 PasswordGuess.equals (StrPassword)를 사용하십시오. –

답변

4

당신의 참조 위치를 비교하는에게,

public class PasswordChecker { 

    public static boolean PasswordCheck(String PasswordGuess){ 
     boolean blnPassword; 
     String StrPassword = "Enter"; 

     if (PasswordGuess==StrPassword) { 
      blnPassword = true; 
     } 
     else { 
      blnPassword = false; 
     } 
     return (blnPassword); 
    } 
} 

blnPassword2 = PasswordChecker.PasswordCheck(PasswordGuess); 

import java.util.Scanner; 

public class PasswordGuesser { 

    public static void main(String[] args){ 
     boolean blnPassword2; 
     Scanner keyboard = new Scanner(System.in); 
     String PasswordGuess = keyboard.nextLine(); 
     blnPassword2 = PasswordChecker.PasswordCheck(PasswordGuess); 

     if (blnPassword2==true) { 
      System.out.println("Password correct"); 
     } 
     else 
      { 
      System.out.println("Password incorrect"); 
     } 
    } 
}  

감사합니다 : 나는 줄 함께 할 수있는 뭔가 가정 개체가 아니라 값. 객체를 비교하는 것은 기본 데이터 유형 (int, long, short, char)을 비교하는 것과 다릅니다.

은 다음과 변경 :

if(PasswordGuess==StrPassword)

if(PasswordGuess.equals(StrPassword))

에 여기 평등 작업 일을 읽어주십시오

http://perso.ensta-paristech.fr/~diam/java/online/notes-java/data/expressions/22compareobjects.html

관련 문제