2013-04-12 3 views
0

2 개의 다른 문자열을 비교하려고합니다. 하지만 그들이 똑같은지 나는보고 있지 않습니다. 동일한 숫자가 포함되어 있는지 찾고 있습니다.문자열의 자리수가 같을 때 비교

예 : 만약에 내 String b = 1234567891234567와 나는, 내가

import java.util.*; 

class Test{ 

    public static void main(String[] args){ 
     Scanner lector = new Scanner(System.in); 
     String a; 
     String b = new String("1234567891234567"); 

     System.out.println("Enter your number"); 
     a = lector.nextLine(); 

     if(a.length() == b.lenght()){ 
      System.out.println("They have the same number of digits"); 

     }else{ 
      System.out.println("They dont have the same number of digits"); 
     } 
    } 
} 

나는 그들이 정수에 대한 때문에 내가 ==를 사용하지 못할 것을 알고, 그들이 동일한 자릿수의 경우 알고 싶은 String a = abcdefghijklmnop에 입력 . equals 문을 사용하면 입력 한 문자열이 다른 문자열과 정확히 일치하는지 프로그램이 비교합니다.

누군가가 나를 도울 수 있기를 바랍니다.

감사

+1

이 먼저 코드를 작동 공급하십시오 사용, 나는 시간을 보내는 경우에 도움이 알고 싶어요 이걸 가지고도 구문 오류를 해결할 필요가 없습니다. – djechlin

+3

"숫자"는 "문자"를 의미합니까? – NPE

답변

3

당신이 숫자를 추출 할 수 있습니다 :

str.replaceAll("\\D+",""); 

는 문자열의 길이를 비교합니다. 귀하의 예를 들어

: 당신은 문자열의 길이를 확인해야하는 경우

public static void main(String[] args){ 
    Scanner lector = new Scanner(System.in); 
    String a; 
    String b = new String("1234567891234567"); 

    System.out.println("Enter your number"); 
    a = lector.nextLine(); 

    if(a.replaceAll("\\D+","").length() == b.replaceAll("\\D+","").length()){ 
     System.out.println("They have the same number of digits"); 

    }else{ 
     System.out.println("They dont have the same number of digits"); 
    } 
} 
+0

그런 식으로 시도했지만 작동하지 않았습니다. –

+0

나 한테 물어볼 때 : 당신에게 번호를 입력하면 나는이 메시지를 보낸 후에 abcdefghijkmnlop을 입력했다 : 같은 숫자의 숫자는 표시되지 않는다. 그리고 두 값을 모두 계산하면 1234567891234567 대 abcdefghijkmnlop의 숫자는 같음 –

+1

혼란은 "문자"대신 "숫자"라는 단어를 사용하는 것입니다. Nick의 대답은 실제로 자릿수가 같은지 여부를 확인하지만 문자 수는 아니며 원하는 것입니다. "숫자"는 1에서 0까지의 숫자입니다. "문자"는 문자열의 일부인 문자, 숫자, 문장 부호 등의 기호입니다. –

관련 문제