2012-03-28 4 views
0

Im을 나누기, 추가, 요법 할 수있는 프로그램에서 일하고 있지만, 다른 사람들을 위해서도 쓰고 있습니다. 문제는 일반적으로 문자도 가지고 있습니다. 내 프로그램에서 문자를 무시하고 숫자에 초점을 맞추기 위해 어떤 코드를 구현할 수 있습니까?문자를 무시하십시오.

편집

수입 정적 java.lang.System.out; 가져 오기 java.util.Scanner;

공용 클래스 삼항식 { 공공 정적 무효 메인 (최종 문자열 인수 []) 당신은 당신의 프로그램이이에 보이는 각 문자가 Character.isDigit()를 사용하여 숫자인지 여부를 확인 할 수 있습니다

+1

좋은 해결책은 여기에 있습니다 : http://stackoverflow.com/questions/1102891/how-to-check-a-string-is-a-numeric-type-in-java – sikander

+0

그냥 'Character.isDigit c)'주어진 문자가 숫자인지 알아 내려면? – twain249

답변

0

우선 nextInt()는 다음 토큰에 숫자 이외의 문자가 포함되어 있으면 예외를 반환하므로 스캐너에서 next() 메서드를 사용해야합니다. 이것은 토큰을 String으로 읽습니다. 그런 다음 비어있는 문자를 제거 할 수 있습니다. 예를 들어 빈 문자열 (성능상의 이유로 StringBuilder가 더 좋을 수도 있지만 더 복잡해집니다)을 만들고, 원래 문자열을 반복하고 이미 언급 한 isDigit() 메서드를 사용합니다 문자가 숫자인지 확인합니다. 그럴 경우 새 문자열에 추가하십시오. 숫자 만 들어있는 문자열이 있으면 Integer.parseInt (string) 메서드를 사용하여 정수 값을 가져옵니다.

매번 새로운 스캐너를 초기화해야하는 이유는 확실하지 않습니다. 프로그램 전체에서 첫 번째 스캐너를 사용할 수 있어야한다고 생각합니다.

1

{

final Scanner first = new Scanner(System.in); 
    out.print("Enter the first number: "); 
    final int First = first.nextInt(); 

    final Scanner second = new Scanner(System.in); 
    out.print("Enter the second number: "); 
    final int Second = second.nextInt(); 

    final Scanner third = new Scanner(System.in); 
    out.print("Enter the third number: "); 
    final int Third = third.nextInt(); 

    numFactors(First); 
} 

}

http://www.tutorialspoint.com/java/character_isdigit.htm

당신은 아마도 수학 연산자를 허용 할 를 통과한다.

if (Character.isDigit(input) || input == '+' || 
    input == '-' || input == '/' || input == '*') 
{ 
    // Do something with input 
} 

원하시는 것이 아니라면 더 구체적으로 질문을 개선하십시오.

+0

그럼 다시 말해 보겠습니다. 나는 프로그램이 어떤 종류의 성격이라도 그것을 무시한다면 그것을 의미한다. null이면 제거하십시오. –

+0

@AbrahamAndujo : 게시 할 수있는 기존 코드가 있습니까? 더 많은 문맥없이 좋은 대답을하는 것은 어렵습니다. –

+0

거기 내 게시물을 편집했습니다. –

관련 문제