2015-01-17 4 views
1

암호 검사기를 만들려고하는데 오류가 발생합니다. int를 String으로 변경하려고하지만 암호가 숫자 5가되기를 원하기 때문에 정수 여야합니다.기본 암호 프로그램 문제

public class Kode { 
    public static void main (String[] args) { 
     Scanner scanner = new Scanner (System.in); 
     System.out.println("Welcome, please write the password"); 
     int num1 = scanner.nextLine(); 
     if (num1 == 5) { 
      System.out.println("Welcome"); 
     } 
     else { 
      System.out.println("Password incorrect"); 
     } 
    } 
} 
+0

에 문자열을 구문 분석합니다 ...이보십시오. – xehpuk

+3

컴파일합니까? ** 문자열 **을 반환하고 int를 원한다면'scanner.nextLine()'을 얻고 있습니다. 그래서 다른 방법을 사용하십시오 ... 'scanner.nextInt()'? –

+0

미안하지만, 나는 아직도이 모든 것에 대해 새로운 것이라고 말했다. 감사합니다 :) – user4118143

답변

1

nextLine() 방법은 문자열을 반환합니다, 그래서이도 컴파일되지 않습니다 내 추측이다. num1의 유형을 String으로 변경해야합니다. 그런 다음 num1.equals("5");으로 원하는 암호와 비교하십시오. num1에서 명시 적으로 숫자가 아니기 때문에 더 명쾌하게 바꿔야합니다.

0

scanner.nextInt() 대신 scanner.nextLine()

0

꽵() 메소드는 문자열을 반환하고 컴파일되지 않도록 NUM1가 int 유형의보십시오. Integer.parseInt (scanner.nextLine())를 사용하여 String을 int로 변경할 수 있습니다. String가 숫자가 아닌 경우 예외를 throw합니다. 그러나 비밀번호가 5가 되야하지만 비밀번호가 반드시 필요한 것은 아닙니다. 그래서 num1을 String으로 만들고, 그것을 userInput 또는 좀 더 기술적 인 것으로 부르십시오.

1

그것은 암호 문자열이 아닌 숫자입니다 원하는 INT

int num1=Integer.parseInt(scanner.nextLine()); 
+0

구문 강조를 사용하려면 코드 왼쪽에 공백 4 개를 추가하십시오. [(서식 도움말 페이지)] (http://stackoverflow.com/help/formatting) – Tom