2014-11-10 1 views
0

아주 짧은 시간 동안 Java로 작업 했으므로 잠시 기다려주십시오. 나는 자바 클래스에 대한 소개를위한 프로그램을 작성 중이며 예외를 사용하지 않고 간단한 계산기 (GUI가 없음)를 작성해야하지만 여전히 입력 오류가 발생한다. 예외 처리기를 아무런 문제없이 수행 할 수 있었지만이 하나가 나를 괴롭혔습니다 !!예외를 사용하지 않고 정수 검사를 수행하십시오.

import java.util.*; 

public class calculator_No_Event { 

public static void main(String[] args) 
{ 
    // TODO Auto-generated method stub 
    int a,b,c; 
    char d; 
    boolean e; 
    Scanner input=new Scanner(System.in); 

    try 
    { 
     System.out.print(" Enter the first number: "); 
     a=input.nextInt(); 
     System.out.print("Enter the second number: "); 
     b=input.nextInt(); 
     System.out.print("Enter + or - :"); 
     String f=input.next(); 
     d=f.charAt(0); 


     if (a==char || b==char) 
     { 
      System.out.println("Error"); 
     } 
     else 
     { 
      switch(d) 
      { 
       case '+': 
        c =a+b; 
        System.out.print(a + "+" + b + "=" + c); 
        break; 
       case '-': 
        c =a-b; 
        System.out.print(a + "-" + b + "=" + c); 
        break; 
      } 
     } 
} 
    finally 
    { 
     System.out.println("Thank you."); 
    } 
} 

}

+0

코드가 컴파일되지 않습니다. 최소한 컴파일을 위해 사전 노력을 기울이십시오. 이러한 노력과 적절한 문서를 읽음으로써 많은 것을 배울 수 있습니다. – fge

+0

물론 컴파일되지 않습니다. 그게 문제입니다. 내 문제는 "if (a = char || b = char)"문에 있습니다.이 문은 작동하지 않습니다. 프로그램은 if 문없이 잘 컴파일됩니다. 내가 찾고있는 것은이 문장의 대안이다. 내 문제가 명확하지 않은 경우 사과드립니다. –

답변

0

이 하나 개의 라인으로 오해를 많이 보이고있다

if (a = char || b = char) 
  1. 나는 (당신이 오히려 assignment 운영자 == instead of =

  2. ab보다는 equal to 연산자를 사용하는 것을 의미 가정 c)는에 선언 된 바와 같이 . 따라서 문자를 문자로 변환하지 않는 한 절대 문자가 char이되지 않을 것입니다.하지만 문자는 항상 문자입니다. intchar은 다른 유형이며 1 문자는 유형 일 수 있으므로 작업하지 않으려 고 시도하면됩니다.

  3. 문자열이 숫자 반환 Determine if a String is an Integer in Java 경우 검사에 대한 구글 검색, 그러나이 경우 @ElliottFrisch's answer에 당신은 아마 사용하고자하는 방법이다. 새 자바 클래스 (, Scanner 등)를 사용할 때마다 Documentation을보고 배우는 것은 매우 중요하며 사용하는 클래스에 대한 더 많은 지식과 지식을 얻을 수 있습니다.

+0

그래서 사용자가 숫자 대신 문자를 입력하면이 값이 잡히게됩니까? –

+0

여러 솔루션에 연결되어 있습니다. 어떤 정보를 말하는지 잘 모르겠습니다. 그러나 예, 방법에 대해 읽고 구현 방법을 파악한 후에 그 중 하나가 가능한 해결책이 될 수 있습니다. – DoubleDouble

관련 문제